九度oj 题目1209:最小邮票数
来源:互联网 发布:新网域名自助管理平台 编辑:程序博客网 时间:2024/04/30 04:58
- 题目描述:
有若干张邮票,要求从中选取最少的邮票张数凑成一个给定的总值。
如,有1分,3分,3分,3分,4分五张邮票,要求凑成10分,则使用3张邮票:3分、3分、4分即可。
- 输入:
有多组数据,对于每组数据,首先是要求凑成的邮票总值M,M<100。然后是一个数N,N〈20,表示有N张邮票。接下来是N个正整数,分别表示这N张邮票的面值,且以升序排列。
- 输出:
对于每组数据,能够凑成总值M的最少邮票张数。若无解,输出0。
- 样例输入:
1051 3 3 3 4
- 样例输出:
3
- 来源:
2007年清华大学计算机研究生机试真题
#include<iostream>#include<algorithm>using namespace std;// f[i][j] = min(f[i -1][j-v[i]]+1,f[i-1][j]) const int inf = 9999999;int main(){ int dp[1000], a[1000]; int m, n; while (cin >> m >> n) { for (int i=1; i<=1000; ++i) dp[i] = inf; for (int i=1; i<=n; ++i) cin >> a[i]; dp[0] = 0; for (int i=1; i<=n; ++i) for (int j=m; j>=a[i]; --j) dp[j] = min(dp[j-a[i]] + 1, dp[j]); if (dp[m] >= 1000) cout << 0 << endl; else cout << dp[m] << endl; } return 0;}
0 0
- 九度oj 题目1209:最小邮票数
- 九度OJ 题目1209:最小邮票数
- 九度 oj 题目1209:最小邮票数
- 九度OJ 1209: 最小邮票数
- 九度OJ - 1209 - 最小邮票数
- 九度题目1209:最小邮票数
- 九度题目1209:最小邮票数
- 九度oj 题目1209:最小邮票数 (01背包)
- 九度OJ 1209 最小邮票数 -- 动态规划
- 九度OJ 1209:最小邮票数 (遍历)
- 最小邮票数(九度1209)
- 题目1209:最小邮票数
- 题目1209:最小邮票数
- 题目1209:最小邮票数
- 题目1209:最小邮票数
- 题目1209:最小邮票数
- 题目1209:最小邮票数
- 题目1209:最小邮票数
- Android 判断当前系统语言
- MFC控件之树型控件CTreeCtrl
- FastDFS接口API文档说明
- Android 文件系统的权限设置
- Sybase 的ODBC配置
- 九度oj 题目1209:最小邮票数
- MACHINE_START之分析
- LeetCode - Binary Tree Preorder Traversal
- mac下Cocos2d-x 3.0在xcode 和eclipse下得配置
- How to build the topology of an OSPF area
- 二、SQL语句映射文件(2)增删改查、参数、缓存
- Java泛型总结
- S3C2440 SDRAM驱动配置编程
- res/raw 和assets