hdu1114Piggy-Bank
Posted yijiull
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章