1:分析状态转移方程式
2:ACcode:
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
int f[N][N],v[N],w[N],m[N];
void solve() {
int a,b,c;
cin>>a>>b>>c;
for(int i=1; i<=a; i++) cin>>v[i]>>m[i]>>w[i];
//酷似01背包
for(int i=1; i<=a; i++) { //物品
for(int j=b; j>=v[i]; j--) { //体积,倒序
for(int k=c; k>=m[i]; k--) {//重量,倒序
f[j][k]=max(f[j][k],f[j-v[j]][k-m[i]]+w[i]);
}
}
}
cout<<f[b][c]<<"\n";
}
int main() {
ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
solve();
return 0;
}
over~