Как вычислить XOR двух двоичных строк и найти число различных значений этого XOR, которое может быть получено по модулю 1, 000, 000, 007 ( 109+7 ).
how to compute the XOR of two binary strings and find the number of distinct values of this XOR which can be obtained, modulo 1,000,000,007 ( 109+7 ).
Что я уже пробовал:
#include<bits/stdc++.h> using namespace std; int performXOR(int x, int y) { int res = 0; for (int i = 31; i >= 0; i--) { bool b1 = x & (1 << i); bool b2 = y & (1 << i); bool xoredBit = (b1 & b2) ? 0 : (b1 | b2); res <<= 1; res |= xoredBit; } return res; } int main(){ int test; cin>>test; while(test--){ long long a,b; int n; cin>>n; cin>>a>>b; //cout<<performXOR(a,b)<<endl; cout << } return 0; }