কম্পিউটার

সর্বাধিক পাথ যোগফল যা 0-তম সারির যেকোনো ঘর দিয়ে শুরু হয় এবং C++ এ (N-1)-ম সারির যেকোনো ঘর দিয়ে শেষ হয়


এই টিউটোরিয়ালে, আমরা 0-তম সারির যেকোন সেল দিয়ে শুরু করে (N-1)-ম সারির যেকোন সেল দিয়ে শেষ করার জন্য সর্বাধিক পাথ যোগফল খুঁজে বের করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব

এর জন্য আমাদেরকে (i+1, j), (i+1, j-1), (i+1, j+1) সম্ভাব্য চাল সহ একটি ম্যাট্রিক্স প্রদান করা হবে। আমাদের কাজ হল শূন্য অবস্থান থেকে শুরু করা এবং সর্বাধিক যোগফলের পথ খুঁজে শেষ সারিতে যাওয়া।

উদাহরণ

#include<bits/stdc++.h>
using namespace std;
#define N 4
//finding maximum sum path
int MaximumPath(int Mat[][N]) {
   int result = 0 ;
   int dp[N][N+2];
   memset(dp, 0, sizeof(dp));
   for (int i = 0 ; i < N ; i++)
      dp[0][i+1] = Mat[0][i];
   for (int i = 1 ; i < N ; i++)
      for (int j = 1 ; j <= N ; j++)
         dp[i][j] = max(dp[i-1][j-1], max(dp[i-1][j], dp[i-1][j+1])) + Mat[i][j-1] ;
   for (int i=0; i<=N; i++)
      result = max(result, dp[N-1][i]);
   return result ;
}
int main() {
   int Mat[4][4] = {
      { 4, 2 , 3 , 4 },
      { 2 , 9 , 1 , 10},
      { 15, 1 , 3 , 0 },
      { 16 ,92, 41, 44 }
   };
   cout << MaximumPath ( Mat ) <<endl ;
   return 0;
}

আউটপুট

120

  1. C++ এ প্রদত্ত যোগফল সহ সর্বাধিক আকারের উপসেট

  2. সর্বাধিক গুণফল সহ N-এর চারটি গুণনীয়ক নির্ণয় করুন এবং C++ এ N-এর সমান যোগফল নির্ণয় করুন

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

  4. C++ এ ডিভাইড অ্যান্ড কনক্যুয়ার ব্যবহার করে সর্বাধিক যোগফল সাব-অ্যারে