📄 greed.cpp
字号:
#include<iostream>
using namespace std;
void nap(int n,float M,float w[],float v[])
{
int i,j,t;
float max,m[5],x[5];
for(j=1;j<=n;j++)
{ m[j]=v[j]/w[j];//单位重量的价值
max=m[j];
for(i=j;i<=n;i++)
if(m[i]>max) max=m[i];
t=m[i];m[i]=m[j];m[j]=t;
t=v[i];v[i]=v[j];v[j]=t;
t=w[i];w[i]=w[j];w[j]=t;
}
for(i=1;i<=n;i++)
x[i]=0;//是否装入,装入多少
float c=M;
for(i=1;i<=n;i++)
{
if(w[i]>c) break;
x[i]=1;
c-=w[i];
}
if(i<=n) x[i]=c/w[i];
for(i=1;i<=n;i++)
cout<<x[i]<<" ";
cout<<endl;
}
void main()
{
int n,m;
float v[5],w[5];
cout<<"输入预备装入的物品数量:";
cin>>n;
cout<<"输入背包的容量:";
cin>>m;
cout<<"输入各个物品的价值量:";
for(int i=1;i<=n;i++)
cin>>v[i];
cout<<"输入相应的重量:";
for(int j=1;j<=n;j++)
cin>>w[j];
nap(n,m,w,v);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -