কম্পিউটার

প্রদত্ত ম্যাট্রিক্স ভাল কি না তা পরীক্ষা করার জন্য C++ কোড


ধরুন আমাদের একটি n x n ম্যাট্রিক্স আছে। ম্যাট্রিক্সকে একটি ভাল ম্যাট্রিক্স বলা হয় যেখানে 1 এর সমান নয় এমন প্রতিটি সংখ্যাকে একই সারির একটি সংখ্যা এবং একই কলামে একটি সংখ্যার যোগফল হিসাবে প্রকাশ করা যায়। প্রদত্ত ম্যাট্রিক্স ভাল কি না তা আমাদের পরীক্ষা করতে হবে।

সুতরাং, যদি ইনপুট মত হয়

1 1 2
2 3 1
6 4 1

তাহলে আউটপুট True হবে, কারণ নিচের বাম কোণে 6টি বৈধ কারণ যখন এর যোগফল 2 এর উপরে এবং 4টি ডানদিকে। এই ম্যাট্রিক্সে 1 এর সমান নয় এমন প্রতিটি সংখ্যার জন্য একই ধারণ করে।

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

n := size of M
for initialize i := 0, when i < n, update (increase i by 1), do:
   for initialize j := 0, when j < n, update (increase j by 1), do:
      ok := 0
   if M[i, j] is not equal to 1, then:
      c := M[i, j]
   for initialize h := 0, when h < n, update (increase h by 1), do:
      for initialize k := 0, when k < n, update (increase k by 1), do:
         if c is same as M[i, h] + M[k, j], then:
            ok := 1
   if ok is same as 0 and M[i, j] is not equal to 1, then:
      return false
return true

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;
bool solve(vector<vector<int>> M){
   int n = M.size();
   int c;
   bool ok;
   for (int i = 0; i < n; i++){
      for (int j = 0; j < n; j++){
         ok = 0;
         if (M[i][j] != 1)
            c = M[i][j];
         for (int h = 0; h < n; h++){
            for (int k = 0; k < n; k++)
               if (c == M[i][h] + M[k][j])
                  ok = 1;
         }
         if (ok == 0 && M[i][j] != 1){
            return false;
         }
      }
   }
   return true;
}
int main(){
   vector<vector<int>> matrix = { { 1, 1, 2 }, { 2, 3, 1 }, { 6, 4, 1 } };
   cout << solve(matrix) << endl;
}

ইনপুট

{ { 1, 1, 2 }, { 2, 3, 1 }, { 6, 4, 1 } }

আউটপুট

1

  1. একটি প্রদত্ত ট্রি গ্রাফ রৈখিক নাকি C++ এ নয় তা পরীক্ষা করুন

  2. একটি প্রদত্ত অ্যারে C++ এ জোড়া অনুসারে সাজানো হয়েছে কিনা তা পরীক্ষা করুন

  3. একটি ম্যাট্রিক্স বাইনারি ম্যাট্রিক্স নাকি C++ এ নয় তা পরীক্ষা করার জন্য প্রোগ্রাম

  4. একটি প্রদত্ত বাইনারি ট্রি একটি AVL গাছ কিনা তা পরীক্ষা করার জন্য C++ প্রোগ্রাম