提交时间:2024-05-24 20:20:04

运行 ID: 148580

#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; }