您的位置:首页 > 其它

POJ 3624 Charm Bracelet

2015-12-01 12:42 267 查看
01背包问题的模板题,基础应用。

#include <iostream>
#include <cstdio>

using namespace std;

const int MAXN = 12890;

int f[MAXN], w[3405], d[3405];

inline int max(int a, int b)
{
return a > b ? a : b;
}

int main()
{
int n, m;
scanf("%d%d", &n, &m);
for (int i = 0; i < n; i++)
scanf("%d%d", &w[i], &d[i]);

for (int i = 0; i < MAXN; i++)
f[i] = 0;

for (int i = 0; i < n; i++)
for (int v = m; v >= w[i]; v--)
f[v] = max(f[v], f[v - w[i]] + d[i]);

printf("%d\n", f[m]);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: