पदानुक्रम संरचना का पुनर्निर्माण अधीनता जोड़ों से

Python Hard dicts

कार्य «पदानुक्रम संरचना का पुनर्निर्माण अधीनता जोड़ों से»

कर्मचारी अधीनता जोड़े 'बॉस:अधीनस्थ' प्रारूप में दिए गए हैं। विभागों की पूर्ण पदानुक्रमित संरचना को पुनर्स्थापित करना आवश्यक है। प्रत्येक कर्मचारी के कई अधीनस्थ हो सकते हैं, लेकिन केवल एक बॉस (मूल निदेशक को छोड़कर)। इनपुट डेटा में चक्र या अधूरा डेटा हो सकता है - ऐसे मामलों को अनदेखा किया जाना चाहिए। प्रत्येक विभाग के लिए (श्रृंखला में सबसे ऊपरी बॉस) उस विभाग के सभी कर्मचारियों की सूची वर्णमाला क्रम में, स्पेस से अलग करके आउटपुट करें। विभागों को विभाग प्रमुख के नाम के अनुसार क्रमबद्ध करें।

इनपुट प्रारूप

पहली पंक्ति में एक पूर्णांक N (1 ≤ N ≤ 10000) है - जोड़ों की संख्या। फिर N पंक्तियाँ, प्रत्येक इस प्रकार: 'बॉस:अधीनस्थ' (लैटिन वर्णमाला, लंबाई 1 से 20 वर्णों तक)।

आउटपुट प्रारूप

प्रत्येक विभाग के लिए एक पंक्ति आउटपुट करें: 'विभाग प्रमुख: कर्मचारी1 कर्मचारी2 ...' (विभाग के सभी कर्मचारी, स्वयं प्रमुख सहित, वर्णमाला क्रम में)। विभागों को प्रमुख के नाम के अनुसार क्रमबद्ध करें। यदि डेटा विरोधाभासी है (चक्र, एकाधिक बॉस), तो केवल अविरोधाभासी भाग ही आउटपुट करें।

उदाहरण

उदाहरण 1

इनपुट
4 Alice:Bob Alice:Charlie Bob:David Charlie:Eve
आउटपुट
Alice: Alice Bob Charlie David Eve

उदाहरण 2

इनपुट
3 X:Y Y:Z Z:X
आउटपुट

उदाहरण 3

इनपुट
2 M:N M:O
आउटपुट
M: M N O

उदाहरण 4

इनपुट
ab3c2
आउटपुट
abababcc
main.py