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

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

समस्या कथन

संख्याओं की त्रिकोणीय संरचना को देखते हुए, ऊपर से नीचे तक न्यूनतम पथ योग ज्ञात करें। प्रत्येक चरण में आप नीचे की पंक्ति में आसन्न संख्याओं पर जा सकते हैं।

उदाहरण

अगर इनपुट है -

   5
  7 3
 8 1 2
9 6 4 5

फिर न्यूनतम योग 13 इस प्रकार है -

5 + 3 + 1 + 4

एल्गोरिदम

  • गतिशील प्रोग्रामिंग की याद रखने की तकनीक का उपयोग करें
  • याद रखने के लिए 1-डी सरणी बनाएं अर्थात् याद रखना
  • प्रत्येक K पंक्ति के लिए नीचे दिए गए सूत्र का उपयोग करें -
memorization[i] = min( memorization[i], memorization[i+1])
+ A[k][i];

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int getMinSum(vector<vector<int>> &arr) {
   int memorization[arr.size()];
   int n = arr.size() - 1;
   for (int i = 0; i < arr[n].size(); ++i) {
      memorization[i] = arr[n][i];
   }
   for (int i = arr.size() - 2; i >= 0; --i) {
      for (int j = 0; j < arr[i + 1].size() - 1; ++j) {
         memorization[j] = arr[i][j] +
         min(memorization[j],
         memorization[j + 1]);
      }
   }
   return memorization[0];
}
int main() {
   vector<vector<int>> arr = {
   {5},
   {7, 3},
   {8, 1, 2},
   {9, 6, 4, 5}, };
   cout << "Minimum sum path = " << getMinSum(arr) << endl;
   return 0;
}

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

आउटपुट

Minimum sum path = 13

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

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

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

    इस समस्या में, हमें ऐसी संख्याएँ दी जाती हैं जो एक त्रिभुज के रूप में होती हैं। हमारा काम एक ऐसा प्रोग्राम बनाना है जो एक त्रिभुज में अधिकतम पथ योग प्राप्त करे। तत्वों को पहली पंक्ति से 1 एक तत्व के साथ व्यवस्थित किया जाता है और फिर अगली पंक्तियों में तत्वों की बढ़ती संख्या के साथ nth पंक्ति में तत

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

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