博弈论 P8887 [DMOI-R1] 柯基棋

P8887 [DMOI-R1] 柯基棋
这种博弈论其实有点像是猜出来的,猜结论的。

我的思路过程是
n,q如果确定的话那么这个图最后的尺寸是确定的,seed可以看成没用的。
而自己画了几个n*n的图发现了他的胜负也是确定的,如果有兴趣的可以自己玩一下。

玩的过程里面发现了一些规律就是网格图里面那些熟悉的对称套路:
如果n为奇数的话,那么先手黑子只要在中心点下完之后,白子放在哪里黑子也跟着白子走就好了。
如果n为偶数的话,那么先手黑子不论下在哪里,白子都可以下在和黑子对称的地方。
以上就可以得出获胜的策略,也就是最后的定局。

然后又因为n是一直加2q的,所以它的奇偶性也是不变的,所以就可以直接通过n的奇偶性来判断。

using namespace std;
void solve()
{
    int n,a,b;
    cin>>n>>a>>b;
    if(n&1)cout<<"A won\n";
    else cout<<"B won\n";
}
signed main()
{
    int t;cin>>t;
    while(t--)
        solve();
    return 0;
}```
posted on 2025-09-03 10:59  钟一一  阅读(14)  评论(0)    收藏  举报