贪心算法--最优装载问题
描述:
给出n个物体,第i个物体的重量为wi,选择尽量多的物体,使得总重量不超过c,
输出装入物品的个数。
思路:
这是典型的贪心算法,只顾眼前,来得到我么的最优解,所以每次选择装入最轻的物体,(如果装的下)
代码:
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,c;//物品的总数,装的总重量
int sum = 0;//统计我么装入书包的物品数目
int w[1000];//每个物品的重量
cin>>n;
for (int i=0;i<n;i++)
{
cin>>w[i];
}
sort(w,w+n);
cin>>c;
for(int i=0;i<n;i++)
{
if(w[i] < c)
{
sum++;
c = c - w[i];
}
}
cout<<sum;
return 0;
}