Module: गहराई से खोजें। डीएफएस


Problem

7 /12


टोपोलॉजिकल सॉर्ट

Theory Click to read/hide

एल्गोरिदम को इस प्रकार वर्णित किया जा सकता है:
n शीर्षों और m किनारों वाला एक निर्देशित ग्राफ़ दिया गया है। इसके शीर्षों को इस तरह से फिर से क्रमांकित करना आवश्यक है कि प्रत्येक किनारा कम संख्या वाले शीर्ष से उच्च संख्या वाले शीर्ष की ओर जाता है।
दूसरे शब्दों में, ग्राफ के सभी किनारों द्वारा दिए गए क्रम के अनुरूप शीर्षों (सांस्थितिक क्रम) का क्रमचय खोजना आवश्यक है।
हम गहराई-प्रथम खोज (dfs(v))
का उपयोग करेंगे
यदि हम \(dfs(v)\)  से बाहर निकलते समय किसी सूची की शुरुआत में अपना शीर्ष जोड़ते हैं, तो अंत में इस सूची में आपको एक टोपोलॉजिकल सॉर्ट मिलता है।
इस प्रकार, वांछित टोपोलॉजिकल सॉर्ट — इसे बाहर निकलने के समय के अवरोही क्रम में क्रमबद्ध किया गया है।

Problem

एक निर्देशित अभारित ग्राफ़ दिया गया है। इसे स्थैतिक रूप से क्रमबद्ध करना आवश्यक है।

इनपुट: पहली पंक्ति में दो प्राकृतिक संख्याएं n और m हैं (1≤n≤105, 1≤m≤10< sup >5) — ग्राफ में क्रमशः शीर्षों और किनारों की संख्या। अगली m पंक्तियाँ ग्राफ़ के किनारों को सूचीबद्ध करती हैं। प्रत्येक किनारा संख्याओं की एक जोड़ी द्वारा दिया जाता है — क्रमशः प्रारंभ और अंत शीर्षों की संख्या।
 
आउटपुट: शीर्ष संख्याओं के अनुक्रम के रूप में ग्राफ़ के किसी भी सामयिक प्रकार को प्रिंट करें। यदि ग्राफ़ को स्थैतिक रूप से क्रमबद्ध नहीं किया जा सकता है, तो −1.
प्रिंट करें पहली पंक्ति में शीर्षों N और किनारों की संख्या M है। 

उदाहरण <टेबल क्लास = "टेबल टेबल-कंडेंस्ड टेबल-होवर"> <सिर> <वें># <वें>इनपुट <वें>आउटपुट <शरीर> 1 4 4
14
4 3
4 2
3 2 1 4 3 2