Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में एनएक्सएन ग्रिड में न्यूनतम योग गिरने वाला पथ

समस्या कथन

  • एनएक्सएन आकार के पूर्णांकों के मैट्रिक्स ए को देखते हुए। कार्य A के माध्यम से गिरने वाले पथ का न्यूनतम योग ज्ञात करना है।
  • गिरता पथ पहली पंक्ति के किसी भी तत्व से शुरू होगा और अंतिम पंक्ति में समाप्त होगा।
  • यह प्रत्येक अगली पंक्ति से एक तत्व चुनता है। अगली पंक्ति का चुनाव उस कॉलम में होना चाहिए जो पिछली पंक्ति के कॉलम से अधिक से अधिक भिन्न हो

उदाहरण

If N = 2 and matrix is:
{
   {5, 10},
   {25, 15}
} then output will be 20 as element 5 and 15 are selected

उदाहरण

#include <bits/stdc++.h>
#define MAX 2
using namespace std;
int getMinSumPath(int matrix[MAX][MAX]) {
   for (int row = MAX - 2; row >= 0; --row) {
      for (int col = 0; col < MAX; ++col) {
         int val = matrix[row + 1][col];
         if (col > 0) {
            val = min(val, matrix[row +1][col - 1]);
         }
         if (col + 1 < MAX) {
            val = min(val, matrix[row +1][col + 1]);
         }
         matrix[row][col] = matrix[row][col] +val;
      }
   }
   int result = INT_MAX;
   for (int i = 0; i < MAX; ++i)
   result = min(result, matrix[0][i]);
   return result;
}
int main() {
   int matrix[MAX][MAX] = {
      {5, 10},
      {25, 15},
   };
   cout << "Minimum sum path = " << getMinSumPath(matrix)
   << endl;
   return 0;
}

जब आप उपरोक्त प्रोग्राम को संकलित और निष्पादित करते हैं। यह निम्न आउटपुट उत्पन्न करता है

आउटपुट

Minimum sum path = 20

  1. सी++ में पथ योग III

    मान लीजिए कि हमने एक बाइनरी ट्री दिया है जिसमें प्रत्येक नोड में एक पूर्णांक कुंजी होती है। हमें उन पथों को खोजना है जो किसी दिए गए मान के योग हैं। रास्ता जड़ से पत्ती तक शुरू होना चाहिए। हमें वह रास्ता खोजना होगा जहां योग समान हो। अगर पेड़ [5,4,8,11,null,13,4,7,2,null,null,5,1] जैसा है, और योग 22

  1. सी++ में त्रिभुज में न्यूनतम योग पथ

    समस्या कथन संख्याओं की त्रिकोणीय संरचना को देखते हुए, ऊपर से नीचे तक न्यूनतम पथ योग ज्ञात करें। प्रत्येक चरण में आप नीचे की पंक्ति में आसन्न संख्याओं पर जा सकते हैं। उदाहरण अगर इनपुट है -    5   7 3  8 1 2 9 6 4 5 फिर न्यूनतम योग 13 इस प्रकार है - 5 + 3 + 1 + 4 एल्गोरिदम गति

  1. सी ++ का उपयोग करके एन को योग के रूप में व्यक्त करने के लिए आवश्यक पैलिंड्रोम की न्यूनतम संख्या।

    समस्या कथन एक संख्या N को देखते हुए, हमें N को उनके योग के रूप में व्यक्त करने के लिए आवश्यक न्यूनतम पैलिंड्रोम की संख्या ज्ञात करनी होगी यदि N =15 है तो 2 पैलिंड्रोम की आवश्यकता है अर्थात 8 और 7. एल्गोरिदम 1. Generate all the palindromes up to N in a sorted fashion 2. Find the size of the smalles