बिंदु X और Y के बीच मध्यवर्ती ट्रेन स्टेशनों की संख्या n है। गिनें कि अलग-अलग तरीकों से ट्रेनों को s स्टेशनों पर रुकने के लिए व्यवस्थित किया जा सकता है जैसे कि कोई भी दो स्टेशन एक दूसरे के बगल में नहीं हैं। तो इस लेख में, हम स्टॉपिंग स्टेशनों की संख्या का पता लगाने के लिए हर संभव तरीके की व्याख्या करेंगे। समस्या को देखते हुए, हम पा सकते हैं कि हमें उन संयोजनों को खोजने की आवश्यकता है जिनके द्वारा ट्रेनों को स्टेशनों की संख्या में रोका जा सकता है।
समस्या को हल करने के तरीके
आइए एक उदाहरण लेते हैं कि आठ मध्यवर्ती स्टेशन हैं और हमें तीन मध्यवर्ती स्टेशनों पर ट्रेनों को रोकने के तरीके खोजने होंगे।
n = 8, s = 3
हमारे पास (n - s) हैं, यानी, पांच स्टेशन बचे हैं जिन पर ट्रेन नहीं रुक सकती,
हमारे पास पांच स्टेशन ए, बी, सी, डी, ई हैं, जिन पर ट्रेनें नहीं रुक सकती हैं। अब हमारे पास तीन स्टॉपिंग स्टेशनों की व्यवस्था करने के लिए छह बिंदु वाले स्थान हैं ताकि कोई भी दो स्टेशन लगातार न हों। इसलिए, तरीकों की संख्या है -
6c3= [fact(6) - fact(3)] / fact(3) = 6 * 5 * 4 / 3 * 2 * 1 = 20
बिंदु X और Y से तीन स्टॉपिंग स्टेशनों को व्यवस्थित करने के 20 तरीके हैं। तो यहाँ उदाहरण है -
Input : n = 15 s = 4 Output : 495 Input : n = 8 s = 3 Output : 20
उदाहरण
#include<bits/stdc++.h> using namespace std; int main(){ int n = 8, s = 3; int flag1 = 1, flag2 = 1, temp = s, ans; // selecting 's' positions out of 'n-s+1' int x = n - s + 1; while (x != (n - 2 * s + 1)) { flag1 = flag1 * x; x--; } while (temp != 1) { flag2 = flag2 * temp; temp--; } ans = flag1 / flag2; if ((n - s + 1) >= s) cout << "Number of ways : " << ans; else cout << "not possible to find"; return 0; }
आउटपुट
Number of ways : 20
उपरोक्त कोड की व्याख्या
इस C++ कोड को समझने के लिए, हम समाधान को चरणों में विभाजित कर सकते हैं।
-
n . में स्टेशनों की संख्या लेना और इनपुट के रूप में स्टेशनों को s में रोकना।
-
फ्लैग1 और फ्लैग 2 वेरिएबल्स को 1 से शुरू करना और s के मान को एक टेम्प वेरिएबल में स्टोर करना।
-
फ्लैग1 की गणना करना जो अंश है [तथ्य(एन) - तथ्य(आर)]।
-
फ्लैग 2 की गणना करना जो कि हर है [तथ्य (आर)]
-
मुद्रण परिणाम।
निष्कर्ष
इस लेख में, हम एक समस्या का समाधान करते हैं ताकि पता लगाया जा सके कि मध्यवर्ती स्टेशनों पर ट्रेनों को कितने तरीकों से रोका जा सकता है ताकि कोई भी दो स्टेशन लगातार न हों। हमने इस समस्या के लिए C++ प्रोग्राम और पूरा तरीका भी सीखा जिसके द्वारा हमने इस समस्या को हल किया। हम उसी प्रोग्राम को अन्य भाषाओं जैसे C, java, python, और अन्य भाषाओं में लिख सकते हैं।