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

ट्रेन का उपयोग करके गंतव्य तक पहुंचने की न्यूनतम लागत


इस समस्या के लिए, एक यात्रा पर N स्टॉप हैं। वाहन स्टॉप 0 से N-1 तक यात्रा शुरू करता है। एक तालिका में सभी स्टेशनों के जोड़े के लिए टिकट लागत दी गई है। हमें उन दी गई लागतों के साथ गंतव्य तक पहुंचने की न्यूनतम लागत ढूंढनी है।

इनपुट और आउटपुट

इनपुट: यात्रा का लागत मैट्रिक्स। 0 15 80 90 ∞ 0 40 50 ∞ ∞ 0 70 ∞ ∞ ∞ 0 आउटपुट: न्यूनतम लागत 65 है। पहले 0 से गंतव्य 1 पर जाएं। (लागत 15), फिर 1 से 4 (लागत 50)। तो कुल लागत 65।

एल्गोरिदम

findMinCost(cost)

इनपुट: प्रत्येक स्रोत से प्रत्येक गंतव्य तक की लागत मैट्रिक्स।

आउटपुट: गंतव्य तक पहुंचने की न्यूनतम लागत ढूंढें।

शुरू     costLoc नामक सरणी परिभाषित करें, जिसका आकार स्थानों की संख्या के समान है,     costLoc को ∞ से भरें।     n := स्थानों की संख्या     costLoc[0] := 0     प्रत्येक स्रोत i से प्रत्येक गंतव्य j के लिए, करें       यदि costLoc[j] > costLoc[i] + cost[i, j], तो         costLoc[j] := costLoc[i] + cost[i, j]       किया     costLoc[n-1] वापस करें अंत

उदाहरण

#include<iostream> #define INF INT_MAX #define NODE 4 using namespace std; int cost[NODE][NODE] = {     {0, 15, 80, 90},     {INF, 0, 40, 50},     {INF, INF, 0, 70},     {INF, INF, INF, 0} }; int findMinCost() {         //गंतव्य तक पहुंचने की सबसे छोटी संभव लागत खोजें     int costStation[NODE];       //किसी भी स्टेशन तक पहुंचने की लागत 0 से संग्रहीत करें     for (int i=0; i costStation[i] + cost[i][j])       //न्यूनतम लागत के लिए मध्यवर्ती स्टेशन खोजें costStation[j] = costStation[i] + cost[i][j];     return costStation[NODE-1]; } int main() {     cout << "The Minimum cost to reach station " << NODE << " is " << findMinCost() << endl;     return 0; }

आउटपुट

The Minimum cost to reach station 4 is 65

  1. Python से DAG में सभी नोड्स तक पहुंचने के लिए मिनिमम वर्टेक्स कैसे ढूंढें? Python से DAG में सभी नोड्स तक पहुंचने के लिए मिनिमम वर्टेक्स कैसे ढूंढें?

    डायरेक्टेड एसाइक्लिक ग्राफ (DAG) में जिन वर्टेक्सेज़ का इन-डिग्री 0 है, उनसे सभी नोड्स पहुंचे जा सकते हैं। एल्गोरिदम सभी नोड्स का सेट बनाएं (0 से n-1)। सभी एजेज़ के डेस्टिनेशन नोड्स (v) का सेट बनाएं। सोर्स नोड्स = सभी नोड्स - डेस्टिनेशन नोड्स (यानी इन-डिग्री 0 वाले)। यही मिनिमम वर्टेक्स सेट है। उद

  1. - पायथन में सीढ़ियों के शीर्ष पर चढ़ने की न्यूनतम लागत ढूंढने का प्रोग्राम

    मान लीजिए हमारे पास stairs नामक संख्याओं की एक सूची है और एक अन्य मान k है। हम वर्तमान में सीढ़ी 0 पर हैं और stairs के अंतिम इंडेक्स पर चढ़ना चाहते हैं। मान stair[i] इंडेक्स पर पहुंचने की लागत इंगित करता है और प्रत्येक राउंड में हम 1, 2, ... k, सीढ़ियों को एक बार में कूद सकते हैं। हमें अंतिम सीढ़ी

  1. - पायथन में गंतव्य तक पहुंचने के लिए ऊंचाई बढ़ाने की न्यूनतम कुल मात्रा खोजने का प्रोग्राम

    मान लीजिए हमारे पास एक मैट्रिक्स M है जहां M[r][c] उस सेल की ऊंचाई दर्शाता है। यदि हम वर्तमान में ऊपरी बाएं कोने पर हैं और निचले दाएं कोने पर जाना चाहते हैं। हम आसन्न सेल (ऊपर, नीचे, बाएं, दाएं) पर तभी जा सकते हैं जब उस आसन्न सेल की ऊंचाई वर्तमान सेल की ऊंचाई से कम या बराबर हो। हम चलने से पहले किसी