hdu 1114 Piggy-Bank (DP)
题目意思:完全背包、
1,t组数据
2,给你背包的质量和装上东西后的质量
3,给你一个n,代表有n种货物
4,给你每种货物的价值和重量
求背包所装的做小价值
#include"stdio.h" int min(int a,int b) { if(a>b) return b; return a; } int main() { int t,n,a[521],b[521],w,ww,v,i,j,tt; int dp[11011]; scanf("%d",&t); while(t--) { scanf("%d%d",&w,&ww); v=ww-w; scanf("%d",&n); for(i=0;i<n;i++) scanf("%d%d",&a[i],&b[i]); dp[0]=0; for(i=1;i<=v;i++) dp[i]=9999999; for(i=0;i<n;i++) { tt=b[i]; for(j=tt;j<=v;j++) dp[j]=min(dp[j],dp[j-b[i]]+a[i]); } if(dp[v]!=9999999) printf("The minimum amount of money in the piggy-bank is %d.\n",dp[v]); else printf("This is impossible.\n"); } return 0; }