标签:amp \n acm ref 本质 进制 class inline eof
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=100;
ll t,n,m,q,cnt,k,ans,a[N];
void insert(ll v){
for(int i=63;i>=0;--i) if((v>>i)&1){
if(a[i]) v^=a[i];
else{
for(int j=i-1;j>=0;--j)
if((v>>j)&1) v^=a[j];
for(int j=i+1;j<=63;++j)
if((a[j]>>i)&1) a[j]^=v;
a[i]=v;
break;
}
}
}
int main(){
scanf("%lld",&t);
for(int cas=1;cas<=t;++cas){
memset(a,0,sizeof(a));
scanf("%lld",&n);ll x;
for(int i=1;i<=n;++i){
scanf("%lld",&x);
insert(x);
}
cnt=0;
for(int i=0;i<=63;++i) if(a[i]) cnt++;
scanf("%lld",&m);
printf("Case #%d:\n",cas);
for(int i=1;i<=m;++i){
scanf("%lld",&k);
if(cnt==n) k++;
ll ans=0;ll tmp=cnt;
if(k>(1LL<<cnt)){printf("-1\n");continue;}
for(int i=63;i>=0;--i){
if(a[i]){
ll now=1LL<<(tmp-1);
if(k>now) k-=now,ans^=a[i];
tmp--;
}
}
printf("%lld\n",ans);
}
}
return 0;
}
标签:amp \n acm ref 本质 进制 class inline eof
原文地址:https://www.cnblogs.com/kgxw0430/p/10425276.html