码迷,mamicode.com
首页 > 其他好文 > 详细

01背包模板

时间:2014-06-22 00:15:58      阅读:336      评论:0      收藏:0      [点我收藏+]

标签:01背包

转载请注明出处:http://blog.csdn.net/u012860063

模版就直接贴代码:

01背包问题
01背包问题的特点是,每种物品仅有一件,可以选择放或不放。
01背包问题描述:
有N件物品和一个容量为V的背包。第i件物品的重量是c[i],价值是w[i]。
求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。
#include <stdio.h>
int max(int x,int y)
{
	int M;
	M=x>y ? x : y;
	return M;
}
int w[1050005],d[1050005],f[1050005];
int main()
{
	int i, j, n, m;
	while(scanf("%d",&n)!=EOF)
	{
		scanf("%d", &m);
		for(i=0; i<n; i++)
			scanf("%d%d", &w[i],&d[i]);//w[i]为重量,d[i]为价值
		for(i=0; i<n; i++)
		{
			for(j=m; j>=w[i]; j--)
				f[j] = max(f[j], f[j-w[i]]+d[i]);
		}
		printf("%d\n",f[m]);
	}
	return 0;
}
此程序为poj3624


01背包模板,布布扣,bubuko.com

01背包模板

标签:01背包

原文地址:http://blog.csdn.net/u012860063/article/details/32911251

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!