hdu1114 Piggy-Bank (完全背包)

来源:互联网 发布:金砖四国 知乎 编辑:程序博客网 时间:2024/04/29 15:14
#include <stdio.h>  #include <string.h>#define INF 10000000#define MAXN 10002  int dp[MAXN];  int main(){int n,E,F,W,i,j,test;int w[502],val[502]; scanf("%d",&test);while(test--){scanf("%d %d",&E,&F);W=F-E;scanf("%d",&n);for(i=0;i<n;++i)scanf("%d %d",&val[i],&w[i]);for(i=1;i<MAXN;++i)dp[i]=INF;dp[0]=0;//注意初始化for(i=0;i<n;++i){for(j=w[i];j<=W;++j)if(dp[j]>dp[j-w[i]]+val[i])dp[j]=dp[j-w[i]]+val[i];}if(dp[W]<INF)printf("The minimum amount of money in the piggy-bank is %d.\n",dp[W]);elseprintf("This is impossible.\n");}return 0;}

原创粉丝点击