标签:
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 19057 Accepted Submission(s): 9651
1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<algorithm> 5 #include<queue> 6 #include<stack> 7 #include<map> 8 #define ll __int64 9 #define inf 0xfffffff 10 #define pi acos(-1.0) 11 using namespace std; 12 int t; 13 int e,f; 14 int n; 15 int c[505],w[505]; 16 int dp[10005]; 17 int main() 18 { 19 while(scanf("%d",&t)!=EOF) 20 { 21 22 for(int i=1;i<=t;i++) 23 { 24 scanf("%d %d",&e,&f); 25 scanf("%d",&n); 26 for(int j=1;j<=n;j++) 27 scanf("%d %d",&c[j],&w[j]); 28 for(int j=0;j<=f-e;j++) 29 dp[j]=inf; 30 dp[0]=0; 31 for(int j=1;j<=n;j++) 32 for(int k=w[j];k<=f-e;k++) 33 dp[k]=min(dp[k],dp[k-w[j]]+c[j]); 34 if(dp[f-e]==inf) 35 cout<<"This is impossible."<<endl; 36 else 37 cout<<"The minimum amount of money in the piggy-bank is "<<dp[f-e]<<"."<<endl; 38 } 39 } 40 41 return 0; 42 }
标签:
原文地址:http://www.cnblogs.com/hsd-/p/5423610.html