/*
* @Description: To iterate is human, to recurse divine.
* @Autor: Recursion
* @Date: 2022-04-03 10:45:34
* @LastEditTime: 2022-04-03 10:59:29
*/
#include <bits/stdc++.h>
#define LL long long
using namespace std;
const int maxn = 1e6 + 10;
const int mod = 1e9 + 7;
const int INF = 1e9 + 10;
const int N = 401;
int V,W;
int n;
int v[N],w[N],c[N];//体积 重量 卡路里
int dp[N][N];
void read()
{
cin >> V >> W;
cin >> n;
for(int i = 1;i <= n;i ++)
cin >> v[i] >> w[i] >> c[i];
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
read();
for(int i = 1;i <= n;i ++){
for(int j = V;j >= v[i];j --)
for(int k = W;k >= w[i];k --)
dp[j][k] = max(dp[j - v[i]][k - w[i]] + c[i],dp[j][k]);
}
cout << dp[V][W] << endl;
return 0;
}
P1507 NASA的食物计划
最新推荐文章于 2024-11-04 13:44:45 发布
本文介绍了一个使用动态规划解决NASA食物计划问题的C++实现。程序旨在确定在有限的体积和重量限制下,如何最大化航天员的卡路里摄入。通过遍历所有可能的食物组合,找到最佳解决方案。
825

被折叠的 条评论
为什么被折叠?



