热门

最新

红包

立Flag

投票

同城

我的

发布
m0_68966165
m0_68966165
3 年前
truem0_68966165


int main()
{
float w[101];//用来表示每个物品的重量
float v[101];//用来表示每个物品的价值量
float x[101];//表示最后放入背包的比例
cout<<"请输入物品数:"<<endl;
int n;//物品数
cin>>n;
float M;//背包最大容纳重量
cout<<"请输入背包最大容量:"<<endl;
cin>>M;
//依次输入每件物品的重量和价值量
cout<<"请输入每件物品的重量和价值量:"<<endl;
for(int i=1;i<=n;i++)
cin>>w[i]>>v[i];
//按照单位重量的价值量大小降序排列
Sort(n,w,v);
int i;
for(i=1;i<=n;i++)
x[i]=0;//初始值,未装入背包,x[i]=0
float c=M;//更新背包容纳量
for(i=1;i<=n;i++)
{
if(c<w[i]) break;//不能完全装下
x[i]=1;
c=c-w[i];
}
if(i<=n)
x[i]=c/w[i];
//输出
for(int i=1;i<=n;i++)
cout<<"重量为"<<w[i]<<"价值量为"<<v[i]<<"的物品"<<"放入的比例为"<<x[i]<<endl;
cout<<"计算机2101 李佳 2105010113"<<endl;
return 0;
}

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
贪心
立即登录