HDU 1114 Piggy-Bank

简单的背包

#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<set>
#include<vector>
#include<map>
#include<algorithm>
#include<cmath>
#include<stdlib.h>
using namespace std;
#define inf 10000000
int main()
{
    int t,e,f,p,w,num,i,j;
    int pe[10010];
    cin>>t;
    while(t--)
    {
        cin>>e>>f>>num; 
        int need=f-e;
        for(i=1;i<=need;i++)
        pe[i]=inf;
        pe[0]=0;
        for(i=1;i<=num;i++){
            scanf("%d%d",&p,&w);
            for(j=w;j<=need;j++)
                pe[j]=min(pe[j],pe[j-w]+p);
        }
        if(pe[need]!=inf)
        cout<<"The minimum amount of money in the piggy-bank is "<<pe[need]<<"."<<endl;
        else
        cout<<"This is impossible."<<endl;
    }
}
原文地址:https://www.cnblogs.com/ainixu1314/p/3843337.html