Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 주어진 XOR을 사용하여 모든 쌍을 계산합니다.

<시간/>

이 튜토리얼에서는 주어진 XOR과 쌍의 수를 찾는 프로그램에 대해 논의할 것입니다.

이를 위해 배열과 값이 제공됩니다. 우리의 임무는 XOR이 주어진 값과 같은 쌍의 수를 찾는 것입니다.

#include<bits/stdc++.h>
using namespace std;
//returning the number of pairs
//having XOR equal to given value
int count_pair(int arr[], int n, int x){
   int result = 0;
   //managing with duplicate values
   unordered_map<int, int> m;
   for (int i=0; i<n ; i++){
      int curr_xor = x^arr[i];
      if (m.find(curr_xor) != m.end())
         result += m[curr_xor];
      m[arr[i]]++;
   }
   return result;
}
int main(){
   int arr[] = {2, 5, 2};
   int n = sizeof(arr)/sizeof(arr[0]);
   int x = 0;
   cout << "Count of pairs with given XOR = " << count_pair(arr, n, x);
   return 0;
}

출력

Count of pairs with given XOR = 1