Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
33522 Ender Xor Sum C++ 运行超时 70 1000 MS 23696 KB 1077 2021-12-06 19:15:52

Tests(7/10):


#include <iostream> #include <cstdio> #include <cstring> using namespace std; struct Node { int son[2]; bool vis; }t[2000010]; int pos = 1; void Add(long long x) { int p = 1,i; t[p].vis = true; for(i = 33;i >= 0;i--) { long long b = (x>>i)&1; if(!t[t[p].son[b]].vis) t[p].son[b] = ++pos; p = t[p].son[b]; t[p].vis = true; } return; } long long Query(long long x) { long long ans = 0,p = 1,i; for(i = 33;i >= 0;i--) { long long b = (x>>i)&1ll; if(t[t[p].son[!b]].vis) { ans = (ans<<1) + !b; p = t[p].son[!b]; } else { p = t[p].son[b]; ans = (ans<<1) + b; } } return ans; } int main() { //freopen("xor.in","r",stdin); //freopen("xor.out","w",stdout); int T,lhn; cin>>T; for(lhn = 1;lhn <= T;lhn++) { int n,m,i; long long x; memset(t,0,sizeof(t)); pos = 1; cin>>n>>m; for(i = 1;i <= n;i++) { cin>>x; Add(x); } cout<<"Case #"<<lhn<<':'<<endl; while(m--) { cin>>x; cout<<Query(x)<<endl; } } return 0; }


测评信息: