संयुक्त राष्ट्र के सम्मेलन में दो राजदूत एक-दूसरे से बात करना चाहते हैं, लेकिन दुर्भाग्य से हर एक केवल एक ही भाषा बोलता है- और वे एक ही भाषा नहीं हैं। सौभाग्य से, उनके पास कई अनुवादकों तक पहुंच है, जो प्रत्येक कुछ भाषाओं को समझते हैं और बोलते हैं। आपका कार्य अनुवादकों की सबसे छोटी श्रृंखला निर्धारित करना है (चूंकि आप अनुवाद में जितना संभव हो उतना कम खोना चाहते हैं) जो दो राजदूतों को एक-दूसरे के साथ बात करने की अनुमति देता है।
कोडिंग
इनपुट: दो भाषाओं में 2-अक्षर लोअरकेस स्ट्रिंग्स (प्रत्येक राजदूत की भाषा) और भाषाओं की सूची (उपलब्ध अनुवादक के लिए एक सूची)
आप वैकल्पिक रूप से 2-अक्षर कोड के बजाय पूर्णांक में ले सकते हैं।
आउटपुट: अनुवादकों का अनुक्रम या तो सूचकांक या मूल्य से जो अनुवादकों की सबसे छोटी श्रृंखलाओं में से एक है, जो दो राजदूतों को संवाद करने की अनुमति देता है। यदि अनुवादकों की कोई वैध श्रृंखला नहीं है, तो व्यवहार अपरिभाषित है। (आप क्रैश कर सकते हैं, किसी भी मनमाने मूल्य का उत्पादन कर सकते हैं, या एक त्रुटि का संकेत दे सकते हैं)
अनुवादकों की एक वैध श्रृंखला वह है जहाँ पहला अनुवादक एक राजदूत की भाषा बोलता है, दूसरा और बाद के अनुवादक पिछले अनुवादक के साथ कम से कम एक भाषा साझा करते हैं, और अंतिम अनुवादक दूसरे राजदूत की भाषा बोलता है।
उदाहरण
शून्य-आधारित अनुक्रमण का उपयोग करना:
es, en, [
[es, en]
] ==> [0]
en, en, [] ==> []
en, jp, [
[en, zh, ko, de],
[jp, ko]
] ==> [0, 1]
es, ru, [
[gu, en, py],
[po, py, ru],
[po, es]
] ==> [2, 1]
fr, gu, [
[it, fr, de, es, po, jp],
[en, ru, zh, ko],
[jp, th, en],
[th, gu]
] ==> [0, 2, 3]
fr, ru, [
[fr, en],
[en, ko, jp],
[en, ru]
] ==> [0, 2]
de, jp, [
[en, fr],
[ko, jp, zh],
[fr, po],
[es, ko, zh],
[de, en, th],
[en, es],
[de, fr]
] ==> [4, 5, 3, 1]
नियम और मान्यताएँ
- मानक IO नियम (किसी भी सुविधाजनक I / O प्रारूप का उपयोग करें) और प्रतिबंधित कमियां लागू होती हैं।
- आप मान सकते हैं कि भाषा बोलना और समझना पूरी तरह से सममित है और भाषाओं के बीच सभी संभावित अनुवाद समान रूप से कुशल हैं।
- "करीब पर्याप्त" भाषाओं की कोई अवधारणा नहीं है। उदाहरण के लिए, स्पेनिश के लिए एक छोर पर पुर्तगाली का उपयोग करना पर्याप्त नहीं है।
- यदि कई लघु अनुवादक श्रृंखलाएं हैं, तो उनमें से कोई भी एक करेगा।
- यदि राजदूत एक ही भाषा बोलने के लिए होते हैं, तो अनुवादक सूची खाली होनी चाहिए
- राजदूतों में से कौन सा पहला है कोई फर्क नहीं पड़ता; अनुवादक सूची आगे या पीछे हो सकती है।
- राजदूत इस चुनौती के लिए केवल एक भाषा बोलते हैं
- अनुवादक कम से कम दो भाषाएँ बोलते हैं
- 2-अक्षर भाषा कोड को वास्तविक भाषाओं के साथ मेल खाने की आवश्यकता नहीं है
- आप मान सकते हैं कि अनुवादकों का एक मान्य क्रम है
- यदि अनुक्रम को मान से आउटपुट करते हैं, तो उपलब्ध भाषाओं का पूरा सेट शामिल करें, न कि केवल प्रासंगिक वाले।
हैप्पी गोल्फिंग!
en,fr,sp;en,gr;gr,fr