赛后B题
虽然春节已经过去很久了,但是还有亲戚来串门,还带来了两个霸道的小孩 Alice 和 Brown!真是毁灭性的打击。你赶紧把家里的零食拿了出来,分给了他们两个,但是他们对你的分配似乎不太满意,但是家长在一旁,他们也不好发作,于是决定自己解决……
我们暂且称他们为小孩 A 和小孩 B 吧,现在在他们面前有两堆零食,分别有 𝑛个和 𝑚 个零食,他们会轮流把零食揣进兜里,但是又要明面上遵循家长“你要客气一点,和人家争什么“的教诲,于是他们决定”给一半,拿一半“。
具体来说,他们会选择一堆零食,从中取出偶数个零食(如果原先有这么多零食的话),随后一半放进自己的口袋里,另一半放到另外一堆零食中。
虽然规矩定好了,可是如果到了某个小孩的回合,他没办法拿零食了(没有某一堆零食可以取出偶数个了),就会开始哭闹,你想着早点知道早点预防,所以想请你计算一下,如果小孩 A 先开始拿,并且双方都采取最优策略,那到时候是谁会哭闹?
输入格式:
输入一行两个整数 𝑛,𝑚,表示两堆零食的数量。
输出格式:
输出一行一个字符串,如果是小孩 A 会哭,输出 Alice
;如果是小孩 B 会哭,输出 Brown
。
输入样例:
4 8
输出样例:
Alice
对于 100%的数据,1≤𝑛,𝑚≤10^18。
#include <iostream>
#include <cmath>
using namespace std;
void solve() {
long a, b;
cin >> a >> b;
if (abs(a - b) >= 2) {
cout << "Alice" << endl;
} else {
cout << "Brown" << endl;
}
}
int main() {
solve();
return 0;
}