Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
148580 | jiayou | 潜水员 | C++ | 解答错误 | 20 | 2 MS | 304 KB | 701 | 2024-05-24 20:20:04 |
#include<iostream> #include<cstring> using namespace std; int dp[100][100];//dp[i][j]:有i氧气 j氮气 需要气缸的最轻值 int o[1001],d[1001],w[1001]; int m,n,k; int main(){ cin >> m >> n >> k; memset(dp,0x3f,sizeof(dp)); for(int i = 0;i <= m;i++){ dp[i][0] = 0; } for(int i = 0;i <= n;i++){ dp[0][i] = 0; } for(int i = 1;i <= k;i++){ cin >> o[i] >> d[i] >> w[i]; } for(int i = 1;i <= k;i++){ for(int j = m;j >= o[i];j--){ for(int s = n;s >= d[i];s--){ dp[j][s] = min(dp[j][s],dp[j-o[i]][s-d[i]]+w[i]); } } } cout << dp[m][n]; return 0; }