最基础题解
2024-12-14 16:42:50
发布于:广东
4阅读
0回复
0点赞
最基础题解:
#include<iostream>
using namespace std;
int a,b,w[1005],v[1005],s[1005],dp[1005][1005];
int main(){
cin>>a>>b;
for(int i=1;i<=b;i=i+1){
cin>>v[i]>>w[i]>>s[i];
}
for(int i=1;i<=b;i=i+1){
for(int j=1;j<=a;j=j+1){
dp[i][j]=dp[i-1][j];
for(int k=1;k<=s[i];k=k+1){
if(j>=k*v[i]){
dp[i][j]=max(dp[i][j],dp[i-1][j-k*v[i]]+w[i]*k);
}
}
}
}
cout<<dp[b][a];
// cout<<'\n';
// for(int i=1;i<=b;i=i+1){
// for(int j=1;j<=a;j=j+1){
// cout<<dp[i][j]<<' ';
// }
// cout<<'\n';
// }
return 0;
}
/*
希望佛祖保佑我AC
*/
这里空空如也
有帮助,赞一个