1 条题解

  • 0
    @ 2025-8-24 22:31:19

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar metaphysis
    故不积跬步,无以至千里;不积小流,无以成江海。——《荀子·劝学篇》

    搬运于2025-08-24 22:31:19,当前版本为作者最后更新于2021-03-02 07:50:30,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题目链接

    前置知识:Nim 游戏

    本题的底层博弈模型为 Nim 游戏。将每条直线上黑棋和白棋之间的间距视为一个石子堆(准确地说,石子堆的石子数目等于黑棋和白棋间的距离减去一,因为棋子不能重叠),在不考虑后退操作的情况下,相当于 Alice 和 Bob 在玩一个 nn 个石子堆的 Nim 游戏。

    现在考虑后退操作的影响。如果 Alice 具有必胜策略,Bob 仍“负隅顽抗”,不停地执行后退操作,那么 Alice 可以通过“反向操作”(reversible move)将 Bob 造成的影响消除,即 Bob 后退多少距离,Alice 就前进多少距离,这样就能将局面恢复到 Bob 后退之前的状态。由于规则的限制,不能无限执行后退操作,因此局面的胜负状态不会改变。

    参考代码:

    #include <bits/stdc++.h>
    using namespace std;
    int main(int argc, char *argv[])
    {
        int cases;
        cin >> cases;
        for (int cs = 1; cs <= cases; cs++)
        {
            int n, k, d, y, b, w, nim = 0;
            cin >> n >> k >> d;
            for (int i = 0; i < n; i++)
            {
                cin >> y >> b >> w;
                nim ^= abs(b - w) - 1;
            }
            cout << (nim ? "Yes" : "No") << '\n';
        }
        return 0;
    }
    
    
    • 1

    信息

    ID
    6529
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    0
    已通过
    0
    上传者