• AT2400 [ARC072B] Alice&Brown


    通过打表后可以发现,当初始石头数 (|X - Y| le 1) 时先手必败否则先手必胜。

    我们考虑使用归纳证明这个结论,显然 ((1, 0), (1, 1)) 时是成立的。

    基于观察,我们可以发现:

    • 对于 (|X - Y| > 1) 的情况,先手总存在一种策略使得让后手取得 (|X' - Y'| le 1) 的情况。

    • 对于 (|X - Y| le 1) 的情况,无论先手如何操作后手都必然能取得 (|X' - Y'| > 1) 的情况。

    对于前者,不妨设 (X < Y, Y = X + k),则先手只需从 (Y) 中拿出 (lceil frac{k}{4} ceil imes 2) 即可。

    对于后者,当 (X = Y) 时结论显然成立;当 (Y = X + 1) 时,两者的差值随 (Y) 中取棋数量单调递增,当取最小 (2) 个时差值也会超过 (1) 因此后者成立。

    通过归纳可知判定结论的正确性。

    #include <bits/stdc++.h>
    using namespace std;
    #define int long long
    int n, m;
    signed main() {
        cin >> n >> m;
        printf(abs(n - m) <= 1ll ? "Brown" : "Alice");
        return 0;
    }
    

    基于观察如果发现博弈论的一个状态必然到达其补集,其补集总是存在一种方案到达该状态时,这个状态往往是必败态,通过类似上面的归纳即可证明。

    我称这个为博弈论互补状态可转化的必败性。

  • 相关阅读:
    第四次作业
    第三周
    作业
    第一周学习计划
    小组作业进度(只做了大概还未加内容)
    第六次作业
    第五次作业
    第四次作业
    复习心得 JAVA异常处理
    预习心得
  • 原文地址:https://www.cnblogs.com/Go7338395/p/13870075.html
Copyright © 2020-2023  润新知