一般性的最少硬币组成问题
时间:2019-11-15
本文章向大家介绍一般性的最少硬币组成问题,主要包括一般性的最少硬币组成问题使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一般性的最少硬币组成问题
Description
从n种币值为a[1..n]的硬币中,任选几个硬币组成价值为V的一堆货币,问最少需要几个硬币?其中每种硬币的数量没有限制。1<=n<=100,1<=v<=100000,1<=a[i]<=100000
Input
输入中有两行:第一行有两个数v和n;第二行有n个以空格分隔的数,表示n个币值.
Output
输出只有一行,该行只有一个数,表示所需的最少硬币数, 如果无论如何选取硬币,均不能得到币值v,则输出0.
Sample Input
10 2
3 5
Sample Output
2
HINT
Source
#include <bits/stdc++.h>
using namespace std;
int v,n,a[101];
int f[100001];
int main()
{
cin>>v>>n;
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
memset(f,-1,sizeof(f));
f[0]=0;
for(int i=0;i<=v;i++)
if(f[i]!=-1)
for(int j=1;j<=n;j++)
if(i+a[j]<=v)
{
if(f[i+a[j]]==-1) f[i+a[j]]=f[i]+1;
else if(f[i+a[j]]>f[i]+1) f[i+a[j]]=f[i]+1;
}
if(f[v]==-1) cout<<0<<endl;
else cout<<f[v]<<endl;
return 0;
}
/**************************************************************
Problem: 1610
User: LJA001162
Language: C++
Result: 正确
Time:12 ms
Memory:1928 kb
****************************************************************/
原文地址:https://www.cnblogs.com/LJA001162/p/11867893.html
- [数据清洗]-看上去一样的数字
- [数据清洗]- Pandas 清洗“脏”数据(三)
- [数据清洗]- Pandas 清洗“脏”数据(二)
- [数据清洗]-Pandas 清洗“脏”数据(一)
- [数据清洗]-混乱的邮编数据
- 10行代码,Python实现爬取淘宝/天猫评论
- 4.请求安全-- 结合使用的安全优势总结
- TensorFlow强化学习入门(4)——深度Q网络(DQN)及其扩展
- 3.请求安全-- 如何验证请求的唯一性
- 2.请求安全-- MD5的必要性以及实际应用场景
- 1.请求安全-- 一个简单的 单设备登录 单点登录
- phalapi-进阶篇3(自动加载和拦截器)
- phalapi-进阶篇2(DI依赖注入和单例模式)
- 基于PhalApi的DB集群拓展 V0.1bate
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 算法 | 斐波那契数列
- 并发学习一、MPI初步认识
- Linux下使用wget下载FTP服务器文件
- 使用Java Api 操作HDFS
- String、StringBuffer 的使用 ,两个面试问题
- Java基础【冒泡、选择排序、二分查找】
- Java基础 【Arrays 类的使用】
- i++ 是线程安全的吗?一脸蒙逼
- Java程序员必备基础:JDK 5-15都有哪些经典新特性
- Java开发中如何自动填充SQL语句中的公共字段
- 打卡群刷题总结0918——乘积最大子数组
- 打卡群刷题总结0919——打家劫舍
- 打卡群刷题总结0920——打家劫舍 II
- 打卡群刷题总结0921——最大正方形
- 打卡群刷题总结0922——丑数 II