题目:
题解:
背包类型:01二维背包体积至多是 j 最大值
初始值:全部为0
在更新时 v>=0
代码:
#include<bits/stdc++.h>
using namespace std;
int dp[101][101];
int main(){
int N,V,M;
scanf("%d%d%d",&N,&V,&M);
for(int i=0;i<N;i++){
int v,m,w;
scanf("%d%d%d",&v,&m,&w);
for(int j=V;j>=v;j--){
for(int k=M;k>=m;k--)dp[j][k]=max(dp[j][k],dp[j-v][k-m]+w);
}
}
printf("%d",dp[V][M]);
return 0;
}