- 潜水员
一起测试永恒之蓝
- 2025-7-30 17:15:32 @
https://www.bilibili.com/video/BV1GJ411x7h7/
放心吧,下面没有代码
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
/
#include <iostream>
#include <vector>
#include <climits>
using namespace std;
int main() {
int m, n;
cin >> m >> n;
int k;
cin >> k;
vector<vector<int>> cylinders(k, vector<int>(3));
for (int i = 0; i < k; ++i) {
cin >> cylinders[i][0] >> cylinders[i][1] >> cylinders[i][2];
}
vector<vector<int>> dp(m + 1, vector<int>(n + 1, INT_MAX));
dp[0][0] = 0;
for (const auto &cyl : cylinders) {
int a = cyl[0], b = cyl[1], c = cyl[2];
for (int i = m; i >= 0; --i) {
for (int j = n; j >= 0; --j) {
if (dp[i][j] != INT_MAX) {
int new_i = min(i + a, m);
int new_j = min(j + b, n);
if (dp[new_i][new_j] > dp[i][j] + c) {
dp[new_i][new_j] = dp[i][j] + c;
}
}
}
}
}
cout << dp[m][n] << endl;
return 0;
}
信息
- ID
- 1858
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 20
- 已通过
- 10
- 上传者