0-1背包
问题描述
思路
代码
#include <bits/stdc++.h>
using namespace std;
//0-1背包
#define Maxn 10000
int main() {
int n,W;
cin>>n>>W;
int w[Maxn],v[Maxn],F[Maxn];
for (int i = 1; i <=n ; ++i) {
cin>>w[i]>>v[i];
}
for (int i = 1; i <=n ; ++i) {
for(int j=W;j>=w[i];j--){
F[j]= max(F[j],F[j-w[i]]+v[i]);
}
}
cout<<F[W];
return 0;
}