蓝桥杯选数异或
#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; }