您的位置:首页 > 其它

hdu 1114 Piggy-Bank (DP)

2012-10-15 13:07 381 查看
点击打开链接

题目意思:完全背包、

1,t组数据

2,给你背包的质量和装上东西后的质量

3,给你一个n,代表有n种货物

4,给你每种货物的价值和重量

求背包所装的做小价值

#include"stdio.h"
int min(int a,int b)
{
if(a>b) return b;
return a;
}
int main()
{
int t,n,a[521],b[521],w,ww,v,i,j,tt;
int dp[11011];
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&w,&ww);
v=ww-w;

scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d%d",&a[i],&b[i]);
dp[0]=0;
for(i=1;i<=v;i++)
dp[i]=9999999;

for(i=0;i<n;i++)
{
tt=b[i];
for(j=tt;j<=v;j++)
dp[j]=min(dp[j],dp[j-b[i]]+a[i]);

}
if(dp[v]!=9999999)
printf("The minimum amount of money in the piggy-bank is %d.\n",dp[v]);
else
printf("This is impossible.\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: