您的位置:首页 > 其它

HDU 4508 湫湫系列故事——减肥记I(完全背包模板)

2014-04-10 02:31 288 查看
题目:
http://acm.hdu.edu.cn/showproblem.php?pid=4508
代码:

#include <cstdio>
#include <cstring>
#define max(x,y) ((x)>(y)?(x):(y))
int c[105],w[105],f[100005];
int n,v;
void CompletePack ()
{
int i,j;
memset(f,0,sizeof(f));
for (i=1;i<=n;i++)
for (j=c[i];j<=v;j++)
{
for(int k=0;j-k*c[i]>=0;k++)
{
f[j]=max(f[j-k*c[i]]+k*w[i],f[j]);
}
}
}
int main ()
{
while (~scanf("%d",&n))
{
for (int i=1;i<=n;i++)
scanf("%d%d",&w[i],&c[i]);
scanf("%d",&v);
CompletePack ();
printf("%d\n",f[v]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: