标签:
题目大意:有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。
解题思路:01背包
#include <cstdio>
#include <algorithm>
using namespace std;
int main() {
int N, M;
while (scanf("%d%d", &N, &M) != EOF) {
int DP[13000] = {0};
for (int i = 0; i < N; i++) {
int W, D;
scanf("%d%d", &W, &D);
for (int j = M; j >= W; j--)
DP[j] = max(DP[j], DP[j-W] + D);
}
printf("%d\n", DP[M]);
}
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/kl28978113/article/details/47838497