/*1134. 积木分发(贪心)
题目大意:有n个小朋友,每个人持有a个积木,需要b个积木才能完成
主持人有s个积木,问如何才能保证全部小朋友才能完成积木
任务。弄完的小朋友必须归还积木,包括手中持有的积木。
思路:采用贪心算法,先分给需要最少积木的小朋友。依次类推
若到最后,无法完成输入No。
*/
#include <stdlib.h>
#include <iostream>
#include <memory.h>
using namespace std;
int main()
{
int n;
long long left;
int isVisit[10000];
long long childInfo[10000][2];
long min;
int minIndex;
bool ok = true;
while(cin >> n >> left && n!=0){
ok = true;
memset(isVisit, 0, sizeof(isVisit));
for(int i=0; i<n; i++)
cin >> childInfo[i][0] >> childInfo[i][1];
for(int i=1; i<= n; i++){
min = 1073741428;
minIndex = -1;
for(int j=0; j< n; j++){
if(isVisit[j] == 0){
if(min >
1134. 积木分发(贪心算法,先满足需求最小的)
最新推荐文章于 2023-09-20 23:45:00 发布