luogu P1507 NASA的食物计划
思路
极简的01背包,魔板题
code
#include<bits/stdc++.h>
using namespace std;
int dp[1001][1001], v, n, a[1001], b[1001], c[1001], k;
int main() {
cin >> v >> n >> k;
for (int i = 1; i <= k; i++) cin >> a[i] >> b[i] >> c[i];
for (int i = 1; i <= n; i++) for (int j = v; j >= a[i]; j--) for (int t = n; t >= b[i]; t--) dp[j][t] = max(dp[j][t], dp[j - a[i]][t - b[i]] + c[i]); //状,转,方
cout << dp[v][n];
return 0;
}
这是mcr130102的博客,转载请注明出处