您当前的位置: 首页 >  游戏

不牌不改

暂无认证

  • 0浏览

    0关注

    422博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

蓝桥杯算法提高VIP-盾神与积木游戏

不牌不改 发布时间:2021-08-09 10:49:41 ,浏览量:0

题目

题目链接

题解

贪心。

类似于银行家算法?(逃

贪心思路: 通过常识可知,我们肯定让那些积木够数的小朋友先玩,玩完后把自己的全部积木交出来,作为空闲积木供其他小朋友使用;不够的小朋友中那些差积木数最少的先用,这样他用完之后又可以将他原来持有的积木贡献出来了,空闲积木就会变多了。

代码思路: 按每个小朋友的所需积木数与所有积木数的差值进行从小到大排序,通过一个变量存储空闲积木数,遍历每个小朋友,若空闲积木数加其已拥有的积木数满足所需的积木数,则这个小朋友可以完成,空闲积木数加上其已拥有的积木,继续遍历,直到最后都可以玩输出YES;若中途某个小朋友无法完成,则直接break,输出NO。

代码
#include
using namespace std;

struct peo{
	int have, all;
}p[10010];

int n, T;

bool cmp(peo a, peo b) {
	return a.all-a.have >T;
	while(T--) {
		int flag = 0, sum = 0; //sum表示空闲积木数量
		cin>>n;
		for(int i = 1;i >p[i].have>>p[i].all;
		
		sort(p+1, p+n+1, cmp);
		
		for(int i = 1;i = p[i].all) sum += p[i].have; 
			else {puts("NO"); flag = 1; break;}
		}
		
		if(!flag) puts("YES");
	}
	return 0;
}

关注
打赏
1662186765
查看更多评论
立即登录/注册

微信扫码登录

0.6320s