首页 > 代码库 > hdu1114Piggy-Bank
hdu1114Piggy-Bank
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114
背包问题。
1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 const int maxn=10010; 6 const int inf=0x3f3f3f3f; 7 int dp[maxn]; 8 int sw,sv; 9 int n; 10 struct node 11 { 12 int w,v; 13 }p[maxn]; 14 15 int main() 16 { 17 int t; 18 scanf("%d",&t); 19 while(t--) 20 { 21 scanf("%d%d",&sw,&sv); 22 sv-=sw; 23 scanf("%d",&n); 24 for(int i=0;i<n;i++) 25 scanf("%d%d",&p[i].v,&p[i].w); 26 for(int i=0;i<=sv;i++) 27 dp[i]=inf; //初始化的时候,如果题目要求装满,则除dp[0]=0外其他置为inf。若不要求装满,全部置为0. 28 dp[0]=0; 29 for(int i=0;i<n;i++) 30 for(int j=p[i].w;j<=sv;j++) 31 dp[j]=min(dp[j],dp[j-p[i].w]+p[i].v); 32 if(dp[sv]!=inf) printf("The minimum amount of money in the piggy-bank is %d.\n",dp[sv]); 33 else puts("This is impossible."); 34 } 35 return 0; 36 }
hdu1114Piggy-Bank
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。