背包问题 POJ1742 Coins

Coins
Time Limit: 3000MS   Memory Limit: 30000K
Total Submissions: 37762   Accepted: 12830

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

3 10
1 2 4 2 1 1
2 5
1 4 2 1
0 0

Sample Output

8
4

Source

LouTiancheng@POJ
 
 
据说男人八题之一……orz
水题涨自信……
复制代码
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 int n,m,ans;
 7 int a[110],c[110],used[100010];
 8 bool f[100010];
 9 int main(){
10     while(scanf("%d%d",&n,&m)&&n&&m){
11         memset(f,0,sizeof(f));
12         ans=0;  
13         for(int i=1;i<=n;i++) scanf("%d",&a[i]);
14         for(int i=1;i<=n;i++) scanf("%d",&c[i]);  
15         f[0]=1;
16         for(int i=1;i<=n;i++){  
17             memset(used,0,sizeof(used));  
18             for(int j=a[i];j<=m;j++){  
19                 if(!f[j]&&f[j-a[i]]&&used[j-a[i]]<c[i]){  
20                     f[j]=1;  
21                     used[j]=used[j-a[i]]+1;  
22                     ans++; 
23                 }  
24             }  
25         }  
26         printf("%d\n",ans);
27     }
28     return 0;
29 }
复制代码

 

posted @   zwube  阅读(148)  评论(0编辑  收藏  举报
编辑推荐:
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 程序员常用高效实用工具推荐,办公效率提升利器!
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
点击右上角即可分享
微信分享提示