কম্পিউটার

প্রতিটি সারি থেকে এমন একটি সংখ্যা নির্বাচন করা যায় কিনা পরীক্ষা করুন যাতে সংখ্যার xor C++ এ শূন্যের চেয়ে বেশি হয়


ধরুন আমাদের কাছে N x M আকারের একটি 2D অ্যারে আছে। কাজটি হল আমরা প্রতিটি সারি থেকে একটি সংখ্যা নির্বাচন করতে পারি কিনা তা পরীক্ষা করা, এমনভাবে যাতে সেই উপাদানগুলির XOR অ-শূন্য বা 0-এর বেশি হয়। ধরুন একটি ম্যাট্রিক্স হল এইরকম -

7 7 7
10 10 7

যদি আমরা XOR সম্পাদন করি, উত্তর হবে অ-শূন্য, কারণ দুটি সারির শেষ উপাদান 7 এবং 10 ব্যতীত

এই সমস্যা সমাধানের জন্য, সমাধান খুব সহজ হবে। প্রতিটি সারির প্রথম কলামের উপাদানগুলির XOR 0 কিনা তা প্রাথমিকভাবে পরীক্ষা করুন। যদি এটি অ-শূন্য হয় তবে এটি সম্ভব। অন্যথায়, সারিগুলির মধ্যে দুটি বা ততোধিক স্বতন্ত্র উপাদান আছে কিনা তা পরীক্ষা করুন, যদি হ্যাঁ হয় তবে এটিও সম্ভব। যদি উপরের উভয় শর্তই সন্তুষ্ট না হয়, তাহলে তা সম্ভব নয়।

উদাহরণ

#include<iostream>
using namespace std;
#define N 2
#define M 3
bool isXORnonZero(int matrix[N][M]) {
   int xor_value = 0;
   for (int i = 0; i < N; i++) {
      xor_value ^= matrix[i][0];
   }
   if (xor_value != 0)
      return true;
   for (int i = 0; i < N; i++) {
      for (int j = 1; j < M; j++) {
         if (matrix[i][j] != matrix[i][0])
         return true;
      }
   }
   return false;
}
int main() {
   int mat[N][M] = {
      { 7, 7, 7 },
      { 10, 10, 7 }
   };
   if (isXORnonZero(mat))
      cout << "XOR has non-zero value";
   else
      cout << "XOR has zero value";
}

আউটপুট

XOR has non-zero value

  1. অনির্দেশিত গ্রাফটিকে নির্দেশিত গ্রাফে রূপান্তর করুন যাতে C++ এ 1 এর বেশি দৈর্ঘ্যের কোনো পথ নেই

  2. C++ ব্যবহার করে একটি অ্যারেতে জোড়ার সংখ্যা খুঁজুন যাতে তাদের XOR 0 হয়।

  3. একটি সংখ্যাকে C++ এ দুটি প্রচুর সংখ্যার যোগফল হিসাবে প্রকাশ করা যায় কিনা তা পরীক্ষা করুন

  4. একটি সংখ্যা C++ এ একটি রহস্য সংখ্যা কিনা তা পরীক্ষা করুন