您的位置:首页 > 其它

POJ-1384 完全背包

2011-11-04 23:19 239 查看
没啥好说的,做过一遍==|||
/*
* POJ
* mike-w
* 2011-11-4
* ----------------
* 背包问题
* ----------------
* 这题我貌似做过一遍
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define SIZE 10101
#define INF 9999999

int T,E,F,N,W,P,C;
int f[SIZE];

int main(void)
{
int i;
#ifndef ONLINE_JUDGE
freopen("in","r",stdin);
#endif
scanf("%d",&T);
while(T-->0)
{
scanf("%d%d",&E,&F);
C=F-E;
scanf("%d",&N);
for(i=0;i<=C;i++)
f[i]=INF;
f[0]=0;
while(N-->0)
{
scanf("%d%d",&P,&W);
for(i=W;i<=C;i++)
if(f[i-W]<INF && f[i]>f[i-W]+P)
f[i]=f[i-W]+P;
}
if(f[C]==INF)
puts("This is impossible.");
else
printf("The minimum amount of money in the piggy-bank is %d.\n",f[C]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c