[编程题]xor
  • 热度指数:1999 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
给出n个数字 a_1,...,a_n,问最多有多少不重叠的非空区间,使得每个区间内数字的xor都等于0。

输入描述:
第一行一个整数n; 第二行n个整数 a_1,...,a_n; 对于30%的数据,n<=20; 对于100%的数据,n<=100000, a_i<=100000;


输出描述:
一个整数表示最多的区间个数;
示例1

输入

4
3 0 2 2

输出

2
这题有问题吧
输入:10
            9 1 6 10 4 8 5 0 3 10 
            输出是4啊,答案给个2什么意思?
我的代码:
a=int(input())
b=list(map(int,input().split()))
i=0
for n in range(a):
    c=b[n]
    for m in range(n+1,a):
        c=c^b[m]
        if(c==0):
            i+=1
print(i)
发表于 2022-05-22 22:12:38 回复(0)