贪心算法就是从局部最优到全局最优
例题 ASSIGN COOKIES
题目描述:
有一群孩子和一堆饼干,每个孩子有一个饥饿度,每个饼干都有一个大小。每个孩子只能吃
最多一个饼干,且只有饼干的大小大于孩子的饥饿度时,这个孩子才能吃饱。求解最多有多少孩
子可以吃饱。
输入输出样例:
输入两个数组,分别代表孩子的饥饿度和饼干的大小。输出最多有多少孩子可以吃饱的数量。
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int main(void)
{
int children[100],cookies[100];
memset(children,0,sizeof(children));
memset(cookies,0,sizeof(cookies));
int m,n;
int child=0, cookie=0;
cout<<"请输入孩子的个数和饼干的个数:(均小于等于100)"<<endl;
cin>>m>>n;
cout<<"请输入孩子们的饥饿度:"<<endl;
for(int i=0; i<m; i++)
{
cin>>children[i];
}
cout<<"请输入饼干的大小:"<<endl;
for(int i=0; i<n; i++)
{
cin>>cookies[i];
}
sort(children,children+m);
sort(cookies,cookies+n);
while(child<m&&cookie<n)
{
if(cookies[cookie]>=children[child])child++;
cookie++;
}
cout<<"能吃饱的孩子个数:";
cout<<child<<endl;
}