4 मई के बाद स्टार ट्रेक के संदर्भ को शामिल करते हुए एक चुनौती दी जा सकती है, लेकिन यहाँ जाता है।
आप, ल्यूक, अनाकिन, पलपेटीन, योदा और हान सोलो रॉक, पेपर, कैंची, छिपकली, स्पॉक के एक पागल टूर्नामेंट में शामिल हैं।
यहां पकड़ यह है कि आपको केवल चालों के एक निश्चित क्रम का उपयोग करने की अनुमति है। यदि आपका आदेश "आर" है, तो आपको रॉक का उपयोग करना होगा, जब तक कि आप सभी के खिलाफ हार या जीत नहीं लेते। यदि आपका ऑर्डर RRV है, तो आपको 2 Rocks का उपयोग एक Spock द्वारा करना होगा और तब तक दोहराते रहना चाहिए जब तक आप जीत या हार नहीं जाते।
ल्यूक, अनाकिन, पलपेटाइन, योडा और हान सोलो ने अपने संबंधित आदेश प्रस्तुत किए हैं और आप एक विशेषज्ञ हैकर के रूप में उनके प्रत्येक आदेश पर अपना हाथ मिला रहे हैं!
इस ज्ञान के साथ, आपको टूर्नामेंट के लिए अपना ऑर्डर डिजाइन करना है। चूंकि हर कोई जीतना चाहता है, आप एक ऐसा ऑर्डर बनाना चाहते हैं कि आप सभी को हराकर टूर्नामेंट जीतें। लेकिन यह सभी परिस्थितियों में संभव नहीं हो सकता है।
सुनिश्चित करें कि एक संभावित जीत क्रम है, इसे प्रिंट करें। यदि आपके पास जीतने का कोई संभावित तरीका नहीं है, तो प्रिंट आउट -1 (या 0 या गलत या "असंभव"
इनपुट : 5 आदेशों की एक सूची
आउटपुट : एक एकल आदेश या -1
नमूना इनपुट 1
R
P
S
L
V
नमूना आउटपुट 1
-1
व्याख्या १
कोई फर्क नहीं पड़ता कि आप अपनी पहली चाल में खेलते हैं, कम से कम एक व्यक्ति होगा जो आपको मारता है, इसलिए आपके लिए जीतना संभव नहीं है।
नमूना इनपुट 2
RPS
RPP
R
SRR
L
नमूना आउटपुट 2
RPSP
व्याख्या २
एक बार जब आप अपनी पहली चाल में रॉक खेलते हैं, तो आप "L" और "SRR" को समाप्त करते हैं और बाकी के खिलाफ टाई करते हैं। ऐसा इसलिए है क्योंकि छिपकली और कैंची रॉक से हार जाते हैं। जब आप आगे पेपर खेलते हैं, तो आप "आर" को हरा देंगे और शेष 2 के खिलाफ टाई करेंगे। ऐसा इसलिए है क्योंकि रॉक पेपर को खो देता है। जब आप आगे कैंची चलाते हैं, तो आप "RPP" के खिलाफ जीतेंगे क्योंकि कैंची बीट पेपर है।
अंत में, आप अपने पेपर के साथ "आरपीएस" को हरा देंगे क्योंकि पेपर बीट रॉक है।
यहां नोटिफिकेशन की सूची दी गई है (आप किसी भी 5 लीटर का उपयोग कर सकते हैं, लेकिन कृपया अपने उत्तर में निर्दिष्ट करें):
R : Rock
P : Paper
S : Scissor
L : Lizard
V : Spock
यहां सभी संभावित परिणामों की एक सूची दी गई है:
winner('S', 'P') -> 'S'
winner('S', 'R') -> 'R'
winner('S', 'V') -> 'V'
winner('S', 'L') -> 'S'
winner('S', 'S') -> Tie
winner('P', 'R') -> 'P'
winner('P', 'V') -> 'P'
winner('P', 'L') -> 'L'
winner('P', 'S') -> 'S'
winner('P', 'P') -> Tie
winner('R', 'V') -> 'V'
winner('R', 'L') -> 'R'
winner('R', 'S') -> 'R'
winner('R', 'P') -> 'P'
winner('R', 'R') -> Tie
winner('L', 'R') -> 'R'
winner('L', 'V') -> 'L'
winner('L', 'S') -> 'S'
winner('L', 'P') -> 'L'
winner('L', 'L') -> Tie
winner('V', 'R') -> 'V'
winner('V', 'L') -> 'L'
winner('V', 'S') -> 'V'
winner('V', 'P') -> 'P'
winner('V', 'V') -> Tie
यह कोड-गोल्फ है , इसलिए सबसे कम बाइट जीतते हैं।
पुनश्च: मुझे पता है अगर आप और अधिक परीक्षण मामलों की जरूरत है।