思路参考链接:https://blog.csdn.net/zy98zy998/article/details/122279183
def check(li):
#因为无论怎么选择,li中的所有元素都要经历一次异或
#两人平局时,两人的最终的数一样,即所有的元素异或的结果为0时,两人平局
#计算每个位1的个数
result=0
max1=0
for i in li[1:]:
result=result^i
max1=max(max1,i)
if result==0:
print(0)
return
high=1
while high0:
temp=0
for i in li[1:]:
if i&high != 0: #不能用 ==1 因为结果不是只有0、1
temp+=1
if temp==1:
print(1)
return
if temp%2==1:
if li[0]%2==1:
print(1)
return
else:
print(-1)
return
else:
high=high>>1
n=int(input())
for i in range(n):
li=list(map(int,input().split()))
check(li)



