はまやんはまやんはまやん

hamayanhamayan's blog

Leapfrog: Ch. 2 [Facebook Hacker Cup 2019 Qualification Round B]

https://www.facebook.com/hackercup/problem/2426282194266338/
提出

解説

https://codeforces.com/gym/102249/submission/55747853

Leapfrog: Ch. 1に加えてyesの条件が増えるが、bが2以上であれば、カエルは行ける。

ABB..
AB.B.
.BAB.
.B.BA
..BBA
.ABB.

このようにすると1マス分Bを前に持ってくることなく前進できるためである。

string S;
//---------------------------------------------------------------------------------------------------
#define yes "Y"
#define no "N"
string solve() {
	cin >> S;

	int n = S.length() - 1;

	int b = 0;
	fore(c, S) if (c == 'B') b++;

	if (n == 1) return no;
	if (b == n) return no;
	if ((n + 1) / 2 <= b) return yes;
	if (2 <= b) return yes;
	return no;
}
//---------------------------------------------------------------------------------------------------
void _main() {
	int T; cin >> T;
	rep(t, 0, T) printf("Case #%d: %s\n", t + 1, solve().c_str());
}