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

C++ में NxN ग्रिड में न्यूनतम योग गिरता पथ


समस्या कथन

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

उदाहरण

यदि N = 2 और मैट्रिक्स है: {    {5, 10},    {25, 15} } तो आउटपुट 20 होगा क्योंकि तत्व 5 और 15 चुने गए हैं

उदाहरण

#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 << "न्यूनतम योग पथ = " << getMinSumPath(matrix)    << endl;    return 0; }

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

आउटपुट

न्यूनतम योग पथ = 20

  1. C++ में पाथ सम III - रूट से लीफ तक दिए गए योग वाले पाथ ढूंढना C++ में पाथ सम III - रूट से लीफ तक दिए गए योग वाले पाथ ढूंढना

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

  1. - C++ में ट्रायंगल में न्यूनतम सम पथ

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

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

    समस्या कथन एक संख्या N दी गई है, हमें N को पालिंड्रोम के योग के रूप में व्यक्त करने के लिए आवश्यक न्यूनतम पालिंड्रोम की संख्या ढूंढनी है। यदि N=15, तो 2 पालिंड्रोम आवश्यक हैं: 8 और 7। एल्गोरिदम 1. N तक के सभी पालिंड्रोम को सॉर्टेड तरीके से उत्पन्न करें 2. सबसे छोटे सबसेट का आकार ढूंढें जिसका योग N