动态规划(背包问题):POJ 1742 Coins
2016-03-10 16:15
417 查看
Coins
Description
People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar.One day Tony opened his money-box and found there were some coins.He decided to buy a very nice watch in a nearby shop. He wanted to pay the exact price(without change) and he known the price would not more than m.But he didn't know the exact price of the watch.
You are to write a program which reads n,m,A1,A2,A3...An and
C1,C2,C3...Cn corresponding to the number of Tony's coins of value
A1,A2,A3...An then calculate how many prices(form 1 to m) Tony can pay
use these coins.
Input
The
input contains several test cases. The first line of each test case
contains two integers n(1<=n<=100),m(m<=100000).The second line
contains 2n integers, denoting A1,A2,A3...An,C1,C2,C3...Cn
(1<=Ai<=100000,1<=Ci<=1000). The last test case is followed
by two zeros.
Output
For each test case output the answer on a single line.
Sample Input
Sample Output
Time Limit: 3000MS | Memory Limit: 30000K | |
Total Submissions: 32955 | Accepted: 11199 |
People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar.One day Tony opened his money-box and found there were some coins.He decided to buy a very nice watch in a nearby shop. He wanted to pay the exact price(without change) and he known the price would not more than m.But he didn't know the exact price of the watch.
You are to write a program which reads n,m,A1,A2,A3...An and
C1,C2,C3...Cn corresponding to the number of Tony's coins of value
A1,A2,A3...An then calculate how many prices(form 1 to m) Tony can pay
use these coins.
Input
The
input contains several test cases. The first line of each test case
contains two integers n(1<=n<=100),m(m<=100000).The second line
contains 2n integers, denoting A1,A2,A3...An,C1,C2,C3...Cn
(1<=Ai<=100000,1<=Ci<=1000). The last test case is followed
by two zeros.
Output
For each test case output the answer on a single line.
Sample Input
3 10 1 2 4 2 1 1 2 5 1 4 2 1 0 0
Sample Output
8 4
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> using namespace std; int num[110],v[110]; int dp[2][100010]; int main() { int n,m,now,pre; while(~scanf("%d%d",&n,&m)&&n&&m) { for(int i=1;i<=n;i++)scanf("%d",&v[i]); for(int i=1;i<=n;i++)scanf("%d",&num[i]); memset(dp,127,sizeof(dp)); for(int i=1;i<=n;i++){ now=i%2;pre=(i-1)%2; dp[now][0]=0; for(int j=1;j<=m;j++){ if(dp[pre][j]<=num[i-1])dp[now][j]=0; if(j>=v[i]&&dp[now][j-v[i]]+1<=num[i]) dp[now][j]=min(dp[now][j],dp[now][j-v[i]]+1); } } int ans=0; for(int i=1;i<=m;i++) if(dp[now][i]<=num ) ans++; printf("%d\n",ans); } return 0; }
相关文章推荐
- 前端学习笔记(五)
- 网址大全
- redis cluster 使用中遇到的问题小结
- 关于BootStrap模态框的使用
- 关于Spring MVC前台页面使用Ajax提交请求的方式
- Centos 部署Cobbler系统
- Python实例讲解 -- 获取本地时间日期(日期计算)
- 归并排序
- elasticsearch 为“非查询字段”不建索引 index store
- Android自定义Toast
- 多线程
- unity与android交互
- MPAndroidChart属性大全
- 替代字符串的空格
- 解析json字符串并进行图片位置的替换
- 如何助力企业 APP 在竞争中占据先机?
- Mongodb第八天 JavaAPi
- 学习笔记 第三周 第一篇
- js判断当前页面用什么浏览器打开的方法
- java + spring (jython\python\script) Error:SyntaxError: no viable alternative at character '\n'