蓝桥杯 异或数列
思路參考:藍橋杯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(); } }總結
- 上一篇: 关于显存位宽、显存带宽和显存容量的理解
- 下一篇: myip2long