Codeforces Round #154 (Div. 2) / 253A Boys and Girls(贪心)

本文介绍了CodeForces上的一道经典题目——男孩女孩问题(253A)。该题旨在寻找最优排列方式,使得男孩与女孩交替站立,交替次数尽可能多。文章提供了完整的代码实现,并解释了如何根据不同数量的男孩和女孩来构造最优解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A. Boys and Girls
time limit per test
1 second
memory limit per test
256 megabytes
input
input.txt
output
output.txt

There are n boys and m girls studying in the class. They should stand in a line so that boys and girls alternated there as much as possible. Let's assume that positions in the line are indexed from left to right by numbers from 1 to n + m. Then the number of integers i(1 ≤ i < n + m) such that positions with indexes i and i + 1 contain children of different genders (position i has a girl and position i + 1has a boy or vice versa) must be as large as possible.

Help the children and tell them how to form the line.

Input

The single line of the input contains two integers n and m (1 ≤ n, m ≤ 100), separated by a space.

Output

Print a line of n + m characters. Print on the i-th position of the line character "B", if the i-th position of your arrangement should have a boy and "G", if it should have a girl.

Of course, the number of characters "B" should equal n and the number of characters "G" should equal m. If there are multiple optimal solutions, print any of them.

Sample test(s)
input
3 3
output
GBGBGB
input
4 2
output
BGBGBB

water.


完整代码:

/*30ms,100KB*/

#include<cstdio>

int main()
{
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);

	int n, m;
    scanf("%d%d",&n,&m);
	if (n > m)
	{
		int diff = n - m;
		while (m--)
		{
			putchar('B');
			putchar('G');
		}
		while (diff--)
			putchar('B');
	}
	else
	{
		int diff = m - n;
		while (n--)
		{
			putchar('G');
			putchar('B');
		}
		while (diff--)
			putchar('G');
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值