zoukankan      html  css  js  c++  java
  • 「牛客CSP-S2019赛前集训营1」仓鼠的石子游戏

    传送门
    NowCoder

    解题思路

    考虑这样一件事:在任何的同一个石圈,后手肯定会输。
    证明很简单,手玩一下就可以大致意会。
    但是有一种特殊情况,就是大小为1的圈,这种圈就是起到一次交换先后手的作用,所以这就是突破点,先手要是想赢,就必须成为后手,同理后手也一定会想办法不变成先手。
    所以我们得出:两人采取最优动法一定会先把所有大小为1的石圈涂完,然后确定先后手,即确定胜负。
    所以我们就只需要判断一下大小为1的石圈的个数的奇偶性即可,奇数先手赢,偶数后手赢。

    细节注意事项

    • 咕咕咕。。。

    参考代码

    #include <cstdio>
    #define rg register
    int main() {
        int T, n, cnt;
        scanf("%d", &T);
        while (T--) {
            scanf("%d", &n), cnt = 0;
            for (rg int a, i = 1; i <= n; ++i)
                scanf("%d", &a), cnt ^= (a == 1);
            puts(cnt ? "rabbit" : "hamster");
        }
        return 0;
    }
    

    完结撒花 (qwq)

  • 相关阅读:
    maven完成构建后,eclipse导入运行maven web
    maven构建java项目的过程【完全】
    maven配置【转载】
    iOS - 移动设备防丢失App
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
  • 原文地址:https://www.cnblogs.com/zsbzsb/p/11779864.html
Copyright © 2011-2022 走看看