天天看點

ABC B - XOR Matching 2 (數學+思維)

連結

題意:

分析:

ll n;
vector<ll> a,b,c,ans;
 
void solve()
{
  cin>>n;
  ll x;
  for(int i=1;i<=n;i++) {
    cin>>x;
    a.push_back(x);    
  }
  for(int i=1;i<=n;i++) {
    cin>>x;
    b.push_back(x);
  }
  sort(b.begin(),b.end());
  
  for(int i=0;i<n;i++){
    c.clear();
    x= a[0]^b[i];
    for(int j=0;j<n;j++) c.push_back(x^a[j]);
    sort(c.begin(),c.end());
    bool flag=1;
    for(int i=0;i<n;i++) if(c[i]!=b[i]) flag=0;
    if(flag) ans.push_back(x);
  }
  sort(ans.begin(),ans.end());
  ans.erase(unique(ans.begin(),ans.end()),ans.end());
  cout<<ans.size()<<endl;
  if(ans.size())
  for(auto it: ans){
    cout<<it<<endl;
  }
}      

繼續閱讀