题解说明:

(1)数列本质上是一组‌按照特定顺序排列的数字;

(2)一维数组a存放n个数,本题解,下标从0开始

(2)input()默认字符型,所以要进行int()处理;

(3)区间[l,r],l <r;区间属于a,l对应a[l-1],r对应a[r-1]

(4)区间[l,r]之间的两个数,应是不同的数,相同的数,相同的两个数异或等于0;

  • for j in range(l,r-1):
    • for k in range(j+1,r):
n,m,x=map(int,input().split())
a=[int(i) for i in input().split()]
for i in range(m):
    flag=0
    l,r=map(int,input().split())
    for j in range(l-1,r-1):
        for k in range(j+1,r):
            if a[j]^a[k]==x:
                flag=1
    if flag==1:print('yes')
    else:print('no')
4 4 1
1 2 3 4
1 4
yes
1 2
no
2 3
yes
3 3
no

数组下标从1开始:

n,m,x=map(int,input().split())
a=[0]+[int(i) for i in input().split()]
for i in range(m):
    flag=0
    l,r=map(int,input().split())
    for j in range(l,r):
        for k in range(j+1,r+1):
            if a[j]^a[k]==x:
                flag=1
    if flag==1:print('yes')
    else:print('no')
4 4 1
1 2 3 4
1 4
yes
1 2
no
2 3
no
3 3
no

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐