কম্পিউটার টিউটোরিয়াল

C++-এ প্রতিটি সারি থেকে একটি সংখ্যা নির্বাচন করে XOR শূন্য থেকে বড় হয় কিনা চেক করা

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

777
10107

যদি XOR করি, উত্তর নন-জিরো হবে, কারণ দুটি সারির শেষ উপাদান বাদে ৭ এবং ১০।

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

উদাহরণ কোড

#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";
    return 0;
}

আউটপুট

XOR has non-zero value
  1. C++-এ অনির্দেশিত গ্রাফকে নির্দেশিত গ্রাফে কনভার্ট করা যাতে পথের দৈর্ঘ্য ১-এর চেয়ে বড় না হয়

  2. C++ ব্যবহার করে অ্যারেতে XOR ০ হয় এমন জোড়ার সংখ্যা বের করা

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

  4. C++ প্রোগ্রাম: মিস্টেরি নাম্বার (Mystery Number) চেক করা