题目
想法1:暴力解决
直接设k表示第i件物品有多少。
#include<iostream>
using namespace std;
const int MAX=1005;
int w[MAX];
int v[MAX];
int s[MAX];
int f[MAX][MAX];
int max(int a,int b){
if(a>b) return a;
else return b;
}
int main(){
int N,V,j;
cin>>N>>V;
for(int i=1;i<=N;i++){
cin>>v[i]>>w[i]>>s[i];
}
for(int i=1;i<=N;i++){
for(j=1;j<=V;j++){
for(int k=0;k<=s[i]&&k*v[i]<=j;k++)
f[i][j]=max(f[i][j],f[i-1][j-k