.
2024-09-28 10:59:22
发布于:广东
10阅读
0回复
0点赞
#include<iostream>
using namespace std;
int main(){
cout<<1040;
return 0;
}
全部评论 3
二维
#include<iostream> using namespace std; const int N =1001; int dp[N][N],w[N],v[N],c[N]; int n,m; int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ cin>>w[i]>>v[i]>>c[i]; } for(int i=1;i<=n;i++){ for(int j=0;j<=m;j++){ for(int k=0;k<=c[i];k++){ if(j>=k*w[i]) dp[i][j] = max(dp[i][j],dp[i-1][j-k*w[i]] + k*v[i]); } } } cout<<1040; return 0; }
2024-09-28 来自 广东
1正经题解a.
#include<iostream> using namespace std; const int N =1001; int dp[N],w[N],v[N],c[N];//定义dp数组,体积,价值,数量 int n,m; int main(){ cin>>m>>n;//先输入背包容量,再是件数 //输入物品信息 for(int i=1;i<=n;i++){ cin>>w[i]>>v[i]>>c[i]; } //开始多重!!! for(int i=1;i<=n;i++){//遍历n种物品 for(int j=m;j>=1;j--){//遍历背包容量m for(int k=c[i];k>=0;k--){//遍历每种物品件数 if(j>=k*w[i])//不是一定能装得下,得判断 dp[j] = max(dp[j],dp[j-k*w[i]] + k*v[i]); } } } cout<<1040; return 0; }
2024-09-28 来自 广东
1主播太强了a
2024-09-28 来自 广东
0
顶
2024-09-28 来自 广东
0迎
2024-09-28 来自 广东
01
2024-09-28 来自 广东
0人机不会数数?
2024-09-28 来自 广东
1
有帮助,赞一个