博弈论 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;
}```
浙公网安备 33010602011771号