赞
踩
思路参考:蓝桥杯2021年第十二届省赛-异或数列_zy98zy998的博客-CSDN博客_蓝桥杯异或数列
- #include<iostream>
- #include<algorithm>
- #include<map>
- #include<cstring>
- #include<queue>
- using namespace std;
- typedef long long ll;
- const int N=2e5+5;
- ll w[N];
- int n;
- int cnt[25];
-
- void op(ll x)
- {
- int t=0;
- while(x)
- {
- t++;
- if(x&1) cnt[t]++;
- x>>=1;
- }
- }
- void solve()
- {
- memset(cnt,0,sizeof cnt);
- int sum=0;
- for(int i=1;i<=n;i++) op(w[i]),sum^=w[i];
- if(!sum)
- {
- cout<<0<<endl;
- return;
- }
- for(int i=20;i>0;i--)
- {
- if(cnt[i]==1)
- {
- cout<<1<<endl;
- return;
- }
- if(cnt[i]&1)
- {
- if(n&1)
- {
- cout<<1<<endl;
- return;
- }
- else
- {
- cout<<-1<<endl;
- break;
- }
- }
- }
- }
- int main()
- {
- int t;cin>>t;
- while(t--)
- {
- cin>>n;
- for(int i=1;i<=n;i++) cin>>w[i];
- solve();
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。