您的位置:首页 > 其它

pku 3624 准背包问题

2009-04-05 17:05 351 查看
#include <iostream>
using namespace std;
int w[3403];//weight
int v[3403];//price
int c[12881];
int main()
{
int N, W;
scanf("%d%d", &N, &W);
for(int i = 1; i <= N; ++i)
scanf("%d%d", &w[i], &v[i]);

for(int i = 1; i <= N; ++i)
{
for(int j = W; j >= 1; --j)
if(j >= w[i])
{
if(c[j-w[i]]+v[i] > c[j])
c[j] = c[j-w[i]]+v[i];
}
}
printf("%d/n",c[W]);
return 0;
}
/*
#include <iostream>
using namespace std;
int w[3403];//weight
int v[3403];//price
int c[34][12881];
int main()
{
int N, W;
scanf("%d%d", &N, &W);
for(int i = 1; i <= N; ++i)
scanf("%d%d", &w[i], &v[i]);

for(int i = 1; i <= N; ++i)
{
for(int j = 1; j <= W; ++j)
if(j >= w[i])
{
if(c[i][j-w[i]]+v[i] > c[i-1][j])
c[i][j] = c[i-1][j-w[i]]+v[i];
else
c[i][j] = c[i-1][j];
}
else
c[i][j] = c[i-1][j];
}
printf("%d/n",c
[W]);
return 0;
}
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: