#include<iostream>
#include<cstdio>
#include<cstring>
#define inf 99999999
using namespace std;
int dp[100005];
int c[100005],w[100005];
int main()
{
int t;
scanf("%d",&t);
for(;t--;)
{
int e,f;
scanf("%d%d",&e,&f);
int n;
scanf("%d",&n);
int v=f-e;
int i;
for(i=0;i<n;i++)
scanf("%d%d",&w[i],&c[i]);
memset(dp,0,sizeof(0));
for(i=0;i<=v;i++)
dp[i]=inf;
dp[0]=0;
for(i=0;i<n;i++)
{
for(int j=c[i];j<=v;j++)
dp[j]=min(dp[j],dp[j-c[i]]+w[i]);
}
if(dp[v]>=inf)
printf("This is impossible.\n");
else
printf("The minimum amount of money in the piggy-bank is %d.\n",dp[v]);
}
}
【标记】hdu 1114完全背包
最新推荐文章于 2013-07-24 10:16:56 发布