hdu 1114

来源:互联网 发布:中国社交网络使用排名 编辑:程序博客网 时间:2024/06/04 19:11
/* 完全背包变型题意:存钱罐 重W1 满重w2,给你价值为cost,重量为weight的硬币,求存钱罐中w2时cost最小值*/#include <cstdio>#include <cstring>using namespace std;#define INF 0x3fffff#define MIN(a,b) (a)<(b)?a:bint dp[10005],sum,cost,weight;int main(){    int n,i,j,k,w1,w2;    scanf("%d",&n);    while(n--)    {        scanf("%d%d%d",&w1,&w2,&k);        for(i=0; i<=w2; i++)            dp[i]=INF;        dp[0]=0;        for(i=0; i<k; i++)        {            scanf("%d%d",&cost,&weight);            for(j=weight; j<=w2-w1; j++)            {                dp[j]=MIN(dp[j],dp[j-weight]+cost);            }        }        if(dp[w2-w1]==INF)            printf("This is impossible.\n");        else        {            printf("The minimum amount of money in the piggy-bank is %d.\n",dp[w2-w1]);        }    }    return 0;}

1 0
原创粉丝点击