题目链接
一道简单的背包
#include<bits/stdc++.h>
using namespace std;
int dp[405][405];
int x[51];
int y[51];
int val[501];
int main() {
int v,g;
cin >> v >> g;
int n;
cin >> n;
for(int i = 1;i <= n;i++) cin >> x[i] >> y[i] >> val[i];
for(int i = 1;i <= n;i++) {
for(int j = v;j >= 0;j--) {
for(int k = g;k >= 0;k--) {
if(j >= x[i] && k >= y[i])
dp[j][k] = max(dp[j][k],dp[j - x[i]][k - y[i]] + val[i]);
}
}
}
cout << dp[v][g];
return 0;
}