提交时间:2023-02-04 14:06:07

运行 ID: 68301

#include<bits/stdc++.h> using namespace std; int x1[1001],x2[1001],w[1001],n,s,b; int dp[1001][1001]; int main(){ cin>>n>>s>>b; for(int i=1;i<=n;i++){ cin>>x1[i]>>x2[i]>>w[i]; } for(int i=0;i<=1000;i++){ for(int j=0;j<=1000;j++){ dp[i][j]=0x3f3f3f3f; } } dp[0][0]=0; for(int k=1;k<=n;k++){ for(int i=s;i>=1;i--){ for(int j=b;j>=1;j--){ //cout<<dp[i][j]<<" "; if(dp[i][j]==-1) cout<<" ",dp[i][j]=dp[max(0,i-x1[k])][max(0,j-x2[k])]+w[k]*2; else dp[i][j]=min(dp[max(0,i-x1[k])][max(0,j-x2[k])]+w[k]*2,dp[i][j]); //cout<<dp[i][j]<<" "; } //cout<<endl; } } cout<<dp[s][b]; return 0; }