P2197 【模板】Nim 游戏

发布时间 2023-12-20 21:07:05作者: 纯粹的

原题链接

题解说的很详细,我来讲讲我对为什么要用异或判断的想法

异或为零是先手必败状态的一个属性,我们通过属性来判断类别。

代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        cin>>n;
        int ans=0;
        for(int i=1;i<=n;i++)
        {
            int x;
            cin>>x;
            ans^=x;
        }
        if(ans)puts("Yes");
        else puts("No");
    }

    return 0;
}