NYOJ995硬币找零(简单dp)
2024-10-13 07:56:30
/*
题意:给你不同面额的硬币(每种硬币无限多),需要找零的面值是T,用这些硬币进行找零,
如果T恰好能被找零,输出最少需要的硬币的数目!否则请输出剩下钱数最少的找零方案中的最少硬币数! 思路:转换成完全背包的问题!
*/
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#define INF 0x3f3f3f3f
using namespace std;
int dp[]; int main(){
int n, v;
while(cin>>n>>v && (n||v)){
memset(dp, 0x3f, sizeof(dp));
dp[]=;//不要忘记这一步
for(int i=; i<=n; ++i){
int k;
cin>>k;
for(int j=k; j<=v; ++j)
dp[j]=min(dp[j], dp[j-k]+);//这里是min,不是max
}
for(int i=v; i>=; --i)//如果遇到了找零的数目不是INF,那么就是答案!
if(dp[i]!=INF){
dp[v]=dp[i];
break;
}
cout<<dp[v]<<endl;
}
return ;
}
最新文章
- JS获取元素CSS值
- CSS基本知识汇总
- ArcGIS Engine开发之旅08--和查询相关的对象和接口
- TCP协议RST:RST介绍、什么时候发送RST包
- 面试问到struts1与struts2的解析对比
- Eclipse插件checkstyle 代码风格的检查
- ES 中的那些坑
- [Redux] Avoiding Object Mutations with Object.assign() and ...spread
- css案例学习之id要唯一
- ES6 JavaScript Promise的感性认知
- SPOJ 705 Distinct Substrings(后缀数组)
- 结构-行为-样式-Javascript笔记
- JavaScript基础学习(五)&mdash;其他引用类型
- Win7 Win8 Win10取不到机器码的处理办法
- java.security.SecureRandom源码分析 java.security.egd=file:/dev/./urandom
- C#实现不安装Oracle客户端访问远程服务器数据
- vim---打造Python IDE
- hadoop学习笔记(九):MapReduce程序的编写
- Android:EditText 属性
- Luogu P4062 [CTSC2018]混合果汁 (主席树)