提交时间:2024-05-20 13:39:28

运行 ID: 147909

#include <bits/stdc++.h> using namespace std; #define int long long const int N = 1005 , M = 100; int dp[M][M] , a[N] , b[N] , w[N]; int main() { int n , m , num; cin >> n >> m >> num; memset(dp, 0x3f, sizeof(dp)); dp[0][0] = 0; for (int i = 0; i < num; i++){ cin >> 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]); } } cout << dp[m][n]; return 0; }