编程第五六天
来源:互联网 发布:java语言分段函数 编辑:程序博客网 时间:2024/05/01 22:27
c++实现贪心算法
该贪心算法实现可分割的问题
#include<iostream>
using namespace std;
int Find_Max(float i[10],int num) //返回价值最大下标
{
int max_index=0;
int j;
for(j=1;j<num;j++)
{
if(i[j]>i[0])
max_index=j;
}
return max_index;
}
int main()
{
float Value[10];
float Weight[10];
float Average[10];
float WeightMax;
float CurrentWeight=0;
float ValueMax;
int num;
cout<<"请输入背包最大承重:"<<endl;
cin>>WeightMax;
cout<<"请输入物品个数:"<<endl;
cin>>num;
for(int i=1;i<=num;i++)
{
cout<<"请输入第"<<i<<"件物品的重量和价值:"<<endl;
cin>>Weight[i-1];
cin>>Value[i-1];
}
for(int i=0;i<num;i++)
{
Average[i]=Value[i]/Weight[i];//求出单位价值最高;
}
while(CurrentWeight<=WeightMax)
{
if(WeightMax-CurrentWeight>Weight[Find_Max(Average,num)])
CurrentWeight=CurrentWeight+Weight[Find_Max(Average,num)];
else
CurrentWeight=CurrentWeight+Average[Find_Max(Average,num)]*(WeightMax-CurrentWeight);
Average[Find_Max(Average,num)]=0;
}
cout<<"背包最大价值为"<<CurrentWeight<<endl;
return 0;
}
- 编程第五六天
- Android----基础----第五、六天----网络编程
- ocp第五、六天
- 编程第五十六天
- opengl编程指南笔记(六)第五章 光照
- SQL Server | 第五,六天学习总结
- 微博入门第五六天
- 运维学习第五六天
- 编程第五十一、五十二天
- 第五、六章
- 第五周项目六
- 第五-六单元练习
- 第五、六、七章
- 第五六单元练习
- 第五、六单元练习
- 第五、六单元练习题
- 第五六单元练习题
- 第五-六单元练习
- Pands分组统计函数
- 一个Tomcat下部署两个,甚至多个项目
- 程序的内存分配
- 第三天
- iOS开发之DKNightVersion的原理和使用,实现夜间模式
- 编程第五六天
- MySQL性能优化
- 走进 Redis 的世界
- IDEA的入门使用(一)——快捷键
- 【Linux基础】基础shell命令
- 内存模型笔记
- CentOS重启后resolv.conf被重置的解决方案
- listview学习之初探adapter
- 编程第七天