您的位置:首页 > 其它

poj 3624 01 背包

2013-09-12 20:37 253 查看
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int dp[13000], v[4000], jz[4000];
int n, m;

void onetwopack(int v, int c)
{
for(int i = m; i >= v; i--)
dp[i] = max(dp[i], dp[i-v]+c);
}

int main()
{
while(cin >> n >> m)
{
for(int i = 0; i < n; i++) cin >> v[i] >> jz[i];
memset(dp, 0, sizeof(dp));
for(int i = 0; i < n; i++)
onetwopack(v[i], jz[i]);
printf("%d\n", dp[m]);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: