ধরুন আমাদের n উপাদানের একটি অ্যারে আছে; আমাদের অ্যারেতে বেশ কয়েকটি জোড়া খুঁজে বের করতে হবে যার XOR হবে 0। যে জোড়া (x, y) যার XOR 0, তারপর x =y। এটি সমাধান করার জন্য আমরা অ্যারে সাজাতে পারি, তারপর পরপর দুটি উপাদান একই হলে, গণনা বাড়াতে পারি। যদি সমস্ত উপাদান একই হয়, তাহলে শেষ গণনা গণনা করা যাবে না। সেক্ষেত্রে, আমরা শেষ এবং প্রথম উপাদানগুলি একই কিনা তা পরীক্ষা করব, যদি একই হয়, তাহলে গণনা 1 দ্বারা বৃদ্ধি করুন৷
উদাহরণ
#include<iostream> #include<algorithm> using namespace std; int countPairs(int arr[], int n) { int count = 0; sort(arr, arr+n); for(int i = 0; i<n - 1; i++){ if(arr[i] == arr[i+1]){ count++; } } if(arr[0] == arr[n-1]) count++; return count; } int main() { int arr[] = {1, 2, 1, 2, 4}; int n = sizeof(arr)/sizeof(arr[0]); cout << "Number of pairs: " << countPairs(arr, n); }
আউটপুট
Number of pairs: 2