2024年度第五届全国大学生算法设计与编程挑战赛(春季赛)

赛后B题

虽然春节已经过去很久了,但是还有亲戚来串门,还带来了两个霸道的小孩 Alice 和 Brown!真是毁灭性的打击。你赶紧把家里的零食拿了出来,分给了他们两个,但是他们对你的分配似乎不太满意,但是家长在一旁,他们也不好发作,于是决定自己解决……

我们暂且称他们为小孩 A 和小孩 B 吧,现在在他们面前有两堆零食,分别有 𝑛n 个和 𝑚m 个零食,他们会轮流把零食揣进兜里,但是又要明面上遵循家长“你要客气一点,和人家争什么“的教诲,于是他们决定”给一半,拿一半“。

具体来说,他们会选择一堆零食,从中取出偶数个零食(如果原先有这么多零食的话),随后一半放进自己的口袋里,另一半放到另外一堆零食中。

虽然规矩定好了,可是如果到了某个小孩的回合,他没办法拿零食了(没有某一堆零食可以取出偶数个了),就会开始哭闹,你想着早点知道早点预防,所以想请你计算一下,如果小孩 A 先开始拿,并且双方都采取最优策略,那到时候是谁会哭闹?

 输入格式:

输入一行两个整数 𝑛,𝑚n,m,表示两堆零食的数量。

输出格式:

输出一行一个字符串,如果是小孩 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;
}

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值