Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
151226 | 吴宗桦 | 潜水员 | C++ | 通过 | 100 | 3 MS | 296 KB | 694 | 2024-06-13 13:01:52 |
#include<bits/stdc++.h> using namespace std; int n,m; int k; struct air{ int a, b, c; }h[1001]; int dp[101][101]; int o2 = 0,n2 = 0; int main() { scanf("%d %d" ,&m,&n); scanf("%d" ,&k); memset(dp,0x3f,sizeof(dp)); dp[0][0] = 0; for(int i = 1;i <= k; i++){ scanf("%d %d %d" ,&h[i].a,&h[i].b,&h[i].c); } for(int i = 1;i <= k; i++){ for(int j = m;j >= 0; j--){ for(int k = n;k >= 0; k--){ int o2 = j + h[i].a; int n2 = k + h[i].b; if(o2 > m) o2 = m; if(n2 > n) n2 = n; dp[o2][n2] = min(dp[o2][n2],dp[j][k] + h[i].c); } } } printf("%d" ,dp[m][n]); return 0; }