返回顶部

蓝桥杯选数异或

#include<iostream>
using namespace std;
const int maxn=100010;
int data[maxn];
bool judge(int l,int r,int x)
{
    for(int i=l;i<=r;i++)
    {
        for(int j=l;j<=r;j++)
        {

            if((data[i]^data[j])==x)
            {
                return true;
            }
        }
    }
    return false;
}
int find(int pos)
{
	for(int i=0;i<maxn;i++)
	{
		if(data[i]==pos)
		return i;
	}
}
int main()
{
    int n,m,x;

    cin>>n>>m>>x;
    for(int i=0;i<n;i++)
    {
        cin>>data[i];
    }
    int l,r;
    for(int i=0;i<m;i++)
    {
        cin>>l>>r;
        l=find(l);
        r=find(r);
        if(judge(l,r,x))
        {
            cout<<"yes"<<endl;
        }
        else
        {
            cout<<"no"<<endl;
        }
    }




    return 0;
}

  

posted @ 2022-04-09 12:14  tianyudizhua  阅读(157)  评论(0编辑  收藏  举报