0
点赞
收藏
分享

微信扫一扫

SP7424 GIRLSNBS - Girls and Boys

晚熟的猫 2022-01-26 阅读 28

题目翻译:

一个即将毕业的班级里有 G G G 个女生和 B B B 个男生。你需要在毕业典礼上把它们排成一排。为了给人一种多样化的印象,你应该避免连续坐太多女孩或太多男孩。你决定安排学生是为了减少男女比例。排列的性别规律性是指连续出现的同性别学生(全是女生或全是男生)的最大数量。已知 G G G B B B ,计算所有可能安排中最小的性别规律性。

思路:

把男生个数平均分成女生的个数份,然后向上取整,就是 ⌈ B G + 1 ⌉ \left\lceil\dfrac{B}{G + 1}\right\rceil G+1B 。这就是最终的答案,输出即可。

样例:

输入:

10 10
5 1
0 1000
-1 -1

输出:

1
3
1000

求管理员改一下这题的样例,上面显示的都是 \n

代码:

#include<bits/stdc++.h>
using namespace std;
int main() {
	int a,b;
	while(cin >> a >> b){//输入 
		if(a < b){
			swap(a,b);//如果男生小于女生就交换 
		}
		if(a == -1){//-1结束 
			break;
		}else if(b == 0){//没女生或没男生就直接输出另外一个 
			cout << a << endl;
		}else{
			cout << ceil((double)(a) / (double)(b + 1)) << endl;//那个公式套进去,(double)是强制转换 
		}
	}
	return 0;
}
举报

相关推荐

0 条评论