您的位置:首页 > 其它

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

2013-03-23 13:41 381 查看
题目链接: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++)
				f[j]=max(f[j-c[i]]+w[i],f[j]);
}

int main ()
{
#ifdef ONLINE_JUDGE      
#else  
    freopen("read.txt","r",stdin);  
#endif
	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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: