为什么?
查看原帖
为什么?
1072152
CPU860431楼主2024/6/15 17:42
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=405;
int dp[N][N][55];
int s[55];
int V[55],W[55];
signed main(){
	int h,t,n;
	cin>>h>>t>>n;
	for(int i=0;i<n;i++){
		cin>>V[i]>>W[i]>>s[i];
	}
	for(int i=0;i<n;i++){
		for(int j=0;j<t;j++){
			for(int k=0;k<h;k++){
				if(k>=V[i]&&j>=W[i]){
					dp[k][j][i]=max(dp[k][j][i-1],dp[k-V[i]][j-W[i]][i-1]+s[i]);
				}else{
					dp[k][j][i]=dp[k][j][i-1];
				}
			}
		}
	}
	cout<<dp[h][t][n];
	return 0;
}

daolao求助!

2024/6/15 17:42
加载中...