#include<iostream.h>
#define M 100
void display(int &n,double &C,double s[M],double p[M])
{
int i;
cout<<"请输入物体数n:";
cin>>n;
cout<<endl;
cout<<"请输入背包总容量C:";
cin>>C;
cout<<endl;
cout<<"请输入各物体的大小或重量:"<<endl;
s[0]=0;
for(i=1;i<=n;i++)
cin>>s[i];
cout<<"请输入各物体的价值p:"<<endl;
p[0]=0;
for(i=1;i<=n;i++)
cin>>p[i];
};
void asc(int n,double s[M],double p[M])//按照价值密度的降序排列;
{
int i,j;
double temp1,temp2,temp3,c[M];
for(i=1;i<=n;i++)
c[i]=p[i]/s[i];
for(i=1;i<n;i++)
for(j=1;j<=n-i;j++)
if(c[j]<c[j+1])
用贪心算法求解普通背包问题的C++代码
最新推荐文章于 2024-10-07 19:01:55 发布
这是一个C++程序,演示了如何利用贪心算法来解决完全背包问题。程序首先从用户那里获取物体数量和背包总容量,然后输入物体的大小和价值。接着,它按照价值密度对物体进行降序排列,并通过贪心策略确定每个物体的取舍,以最大化总价值。最后,程序输出结果,包括每个物体的大小、价值、价值密度以及装载的物体向量和总价值。
摘要由CSDN通过智能技术生成