伪代码:init() 读入,print() 输出
T ← init()
for k ← 1 .. T
n ← init()
for i ← 1 .. n
a[i] ← init()
ans ← 0
for i ← 1 .. n
tp ← 0
for j ← 1 .. n
tp ← tp or (a[i] and a[j])
ans ← ans xor tp
print(ans)
C/C++ 语言版:
for (k = 1; k <= T; ++k) {
n = init();
for (i = 1; i <= n; ++i)
a[i] = init();
ans = 0;
for (i = 1; i <= n; ++i) {
tp = 0;
for (j = 1; j <= n; ++j)
tp |= (a[i] & a[j]);
ans ^= tp;
}
}
全文第一行输入一个正整数,表示数据组数。
对每组数据,第一行输入一个正整数。
第二行输入个正整数,表示
。
对每组数据,输出一行一个整数表示答案。