添加链接描述
结论:a0^a1^....^an==0 先手必败 否则先手必胜 证明如下: 1.0^0^0^....^0=0,最终态为0。 a0^a1^....^an==x(不为0)则从x一定能转移到0,假设让ai变成ai^x,ai^x一定小于ai,则a0^a1^..^ai^x..^an==0。 2.a0^a1^..^ai..^an==0则无论怎么取都转化为一个不为0的数。反证法,假设3.a0^a1^..^ai`..^an==0,a0^a1^..^ai..^an和a0^a1^..^ai`..^an进行异或操作,两个相同的异或变成0,则ai^ai`=0,所以ai=ai`,与原题意不符。
#include#define ll long long using namespace std; const int maxn=3e4+5,INF=0x3f,mod=1e9+7; int main() { int n,res=0; cin>>n; while(n--) { int x; cin>>x; res^=x; } if(res!=0) cout<<"Yes"<



