给定n种物品和一个背包,物品I的重量是Wi,其价值为Vi,问如何选择装入背包的物品,使 50
3个回答
富港检测东莞有限公司
2024-12-24 广告
2024-12-24 广告
运载堆码和仓储堆码在物流和仓储领域中都扮演着重要角色,但两者存在明显区别。运载堆码主要关注在运输过程中的货物稳定性和安全性,它要求货物在运输工具(如卡车、船舶或飞机)上按照一定规则和方法进行合理堆放,以防止货物在运输中发生移动、损坏或丢失。...
点击进入详情页
本回答由富港检测东莞有限公司提供
展开全部
#include<iostream>
using namespace std;
int w[1000],v[100];
int f[105][1005];
int x[100];
int main(){
int T,M,i,j;
while( cin>>M>>T){
for( i=1;i<=M;i++){
cin>>w[i]>>v[i];
}
for( i=1;i<=M;i++){
for(j=0;j<T;j++){
if(j>=w[i]){
f[i][j]=max(f[i-1][j],f[i-1][j-w[i]]+v[i]);
}
else
f[i][j]=f[i-1][j];
}
}
for(i=1;i<=M;i++){
for(j=T;j>=w[i];j--){
x[j]=max(x[j],x[j-w[i]]+v[i]);
// cout<<x[T]<<" "<<j<<endl;
}
}
//cout<<x[T]<<" "<<j<<endl;
// for(i=0;i<=M;i++){
// cout<<f[i][T-1]<<endl;
//
// }
cout<<f[M][T-1]<<endl;}
return 0;
}
using namespace std;
int w[1000],v[100];
int f[105][1005];
int x[100];
int main(){
int T,M,i,j;
while( cin>>M>>T){
for( i=1;i<=M;i++){
cin>>w[i]>>v[i];
}
for( i=1;i<=M;i++){
for(j=0;j<T;j++){
if(j>=w[i]){
f[i][j]=max(f[i-1][j],f[i-1][j-w[i]]+v[i]);
}
else
f[i][j]=f[i-1][j];
}
}
for(i=1;i<=M;i++){
for(j=T;j>=w[i];j--){
x[j]=max(x[j],x[j-w[i]]+v[i]);
// cout<<x[T]<<" "<<j<<endl;
}
}
//cout<<x[T]<<" "<<j<<endl;
// for(i=0;i<=M;i++){
// cout<<f[i][T-1]<<endl;
//
// }
cout<<f[M][T-1]<<endl;}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
朋友,请问你想问什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询