Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
147327 | 冼俊烨 | 潜水员 | C++ | 通过 | 100 | 5 MS | 268 KB | 631 | 2024-05-18 14:39:43 |
#include<bits/stdc++.h> using namespace std; int dp[25][85], a[1005], b[1005], w[1005]; int main() { //freopen("diver.in","r",stdin); //freopen("diver.out","w",stdout); int n, m, num; scanf("%d%d%d", &m, &n, &num); memset(dp, 0x3f, sizeof(dp)); dp[0][0] = 0; for (int i = 0; i < num; i++) { scanf("%d%d%d", &a[i], &b[i], &w[i]); for (int j = m; j >= 0; j--) for (int k = n; k >= 0; k--) { int t1 = min(m, j + a[i]); int t2 = min(n, k + b[i]); dp[t1][t2] = min(dp[t1][t2], dp[j][k] + w[i]); } } printf("%d\n", dp[m][n]); return 0; }