Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
149269 吴悠 潜水员 C++ 通过 100 4 MS 280 KB 772 2024-05-26 11:35:04

Tests(5/5):


#include<iostream> using namespace std; int a[1001],b[1001],c[1001],dp[22][80]; int main(){ int m,n,k; cin>>m>>n; cin>>k; for(int i=0;i<=21;i++){ for(int j=0;j<=79;j++){ dp[i][j]=0x7f7f7f7f; } } dp[0][0]=0; for(int i=1;i<=k;i++){ cin>>a[i]>>b[i]>>c[i]; } for(int i=1;i<=k;i++){ for(int j=m;j>=0;j--){ for(int k=n;k>=0;k--){ if(j>=a[i] && k>=b[i]){ dp[j][k]=min(dp[j][k],dp[j-a[i]][k-b[i]]+c[i]); } else if(j>=a[i] && k<b[i]){ dp[j][k]=min(dp[j][k],dp[j-a[i]][0]+c[i]); } else if(j<a[i] && k>=b[i]){ dp[j][k]=min(dp[j][k],dp[0][k-b[i]]+c[i]); } else if(j<a[i] && k<b[i]){ dp[j][k]=min(dp[j][k],dp[0][0]+c[i]); } } } } cout<<dp[m][n]<<endl; return 0; }


测评信息: