伪代码: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; } }
全文第一行输入一个正整数,表示数据组数。
对每组数据,第一行输入一个正整数。
第二行输入个正整数,表示
。
对每组数据,输出一行一个整数表示答案。