কম্পিউটার

C++ এ ম্যাট্রিক্সে ঘন্টার গ্লাসের সর্বোচ্চ যোগফল


এই সমস্যা, আমরা একটি ম্যাট্রিক্স দেওয়া হয়. আমাদের কাজ হল এমন একটি প্রোগ্রাম তৈরি করা যা C++ এ একটি ম্যাট্রিক্সে ঘন্টাঘড়ির সর্বোচ্চ যোগফল খুঁজে পায়।

প্রোগ্রামের বিবরণ − এখানে, আমরা প্রদত্ত ম্যাট্রিক্স উপাদানগুলির জন্য তৈরি করা যেতে পারে এমন সব ঘণ্টার চশমার সর্বাধিক যোগফল খুঁজে পাব৷

ঘন্টার গ্লাস নিম্নলিখিত আকারে ম্যাট্রিক্সে তৈরি একটি 7 উপাদানের আকৃতি,

X X X
  X
X X X

সমস্যাটি বোঝার জন্য একটি উদাহরণ দেওয়া যাক,

ইনপুট

array ={
   {2 4 0 0}
   {0 1 1 0}
   {4 2 1 0}
   {0 3 0 1}}

আউটপুট

ব্যাখ্যা

Hour glass are :
2    4    0       0    1    1
     1                 2
4    2    1       0    3    0
4    0    0       1    1    0
     1                 1
2    1    0       3    0    1

সুতরাং, নিম্নলিখিত সূচীগুলি ব্যবহার করে একটি বালিঘড়ি তৈরি করা যেতে পারে,

matrix[i][j]    matrix[i][j+1]    matrix[i][j+2]
               matrix[i+1][j+1]
matrix[i+2][j] matrix[i+2][j+1]   matrix[i+2][j+2]

আমরা [0][0] থেকে [R2][C-2] প্রারম্ভিক বিন্দু পর্যন্ত অ্যারের এই সমস্ত উপাদানগুলির যোগফল খুঁজে পাব। এবং অ্যারে উপাদানগুলি থেকে তৈরি এই সমস্ত ঘন্টার চশমার জন্য ম্যাক্সসাম খুঁজুন৷

উদাহরণ

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

#include<iostream>
using namespace std;
const int row = 4;
const int col = 4;
int findHourGlassSum(int mat[row][col]){
   if (row<3 || col<3)
      return -1;
   int maxSum = 0;
   for (int i=0; i<row-2; i++){
      for (int j=0; j<col-2; j++){
         int hrSum = (mat[i][j]+mat[i][j+1]+mat[i][j+2])+ (mat[i+1][j+1])+ (mat[i+2][j]+mat[i+2][j+1]+mat[i+2][j+2]);
         maxSum = max(maxSum, hrSum);
      }
   }
   return maxSum;
}
int main() {
   int mat[row][col] = {
      {2, 4, 0, 0},
      {0, 1, 1, 0},
      {4, 2, 1, 0},
      {0, 3, 0, 1}};
      int maxSum = findHourGlassSum(mat);
      if (maxSum == -1)
         cout<<"Not possible";
      else
         cout<<"Maximum sum of hour glass created is "<<maxSum;
      return 0;
}

আউটপুট

Maximum sum of hour glass created is 14

  1. C++ এ সর্বাধিক সাবয়ারের সমষ্টি m মডিউল

  2. C++ এ ম্যাট্রিক্সে সর্বাধিক পাথ যোগফল

  3. C++ এ একটি অ্যারেতে সর্বোচ্চ ভারসাম্যের যোগফল

  4. C++ ব্যবহার করে ম্যাট্রিক্সে সর্বোচ্চ যোগফল সহ কলাম খুঁজুন।