नोट: यह खेल रूममिकब की भिन्नता से संबंधित है
पृष्ठभूमि और नियम
रुम्मिकूब एक टाइल-आधारित खेल है। चार रंग हैं: लाल, नारंगी, नीला और काला। प्रत्येक रंग के लिए 13 टाइलें हैं (1 से 13 तक लेबल), और 2 जोकर भी हैं जो रंग-स्वतंत्र हैं, इसलिए कुल 54 टुकड़े हैं। रुम्मिकूब की इस भिन्नता में, प्रत्येक खिलाड़ी को 14 टाइलें मिलती हैं और उन्हें एक और टाइल मिलनी चाहिए और प्रत्येक दौर में एक दूसरे को गिरा देना चाहिए, जैसे कि टाइल की गिनती स्थिर है। खिलाड़ियों को एक-दूसरे की टाइलें दिखाई नहीं देती हैं। लक्ष्य टाइल्स को समूहित करना है, जैसे कि सभी टुकड़े कम से कम एक समूह (नीचे देखें) से संबंधित हैं। जब एक खिलाड़ी के पास सभी समूह होते हैं, तो वे अपने टाइल बोर्ड को छोड़ देते हैं और अपने टुकड़ों को प्रकट करते हैं। दूसरे तब जांचते हैं कि क्या सभी संयोजन वैध हैं, और यदि वे हैं, तो खिलाड़ी गोल जीतता है।
टाइल्स को कैसे समूहीकृत किया जा सकता है?
केवल दो प्रकार के समूह हैं:
बहु-रंग समूह:
- इनमें 3 या 4 टाइलें होती हैं।
- वे केवल उन पर समान संख्या के साथ टाइल होते हैं।
- सभी टाइलें अलग-अलग रंगों की हैं।
- उदाहरण:
RED 9, BLUE 9, BLACK 9
।
मोनो-रंग समूह:
- इनमें कम से कम 3 टाइलें होती हैं।
- इनमें 13 से अधिक टाइलें नहीं हो सकती हैं।
- उनके पास केवल आरोही क्रम में उन पर अलग-अलग, लगातार संख्याओं के साथ टाइलें हैं।
- सभी टाइल्स का रंग एक जैसा है।
- जिन टाइलों पर लेबल लगाए गए हैं, वे टाइल के बाद के स्थान
1
नहीं हो सकते हैं13
। - उदाहरण:
RED 5, RED 6, RED 7
।
रुको, जोकर क्या करते हैं?
जोकर खेल में किसी भी टुकड़े को प्रतिस्थापित कर सकते हैं। उदाहरण के लिए, हमारा पहला उदाहरण बन सकता है JOKER, BLUE 9, BLACK 9
, RED 9, JOKER, BLACK 9
या RED 9, BLUE 9, JOKER
। वही हमारे दूसरे उदाहरण पर लागू होता है। हालाँकि, हो सकता है कि एक ही समूह में दो जोकर न हों , इसलिए ऐसी चीजें JOKER, ORANGE 8, JOKER
वर्जित हैं।
कार्य
रुम्मिकूब टाइल समूह को देखते हुए, यह निर्धारित करें कि क्या यह वैध है। आपको गारंटी दी जाती है कि 2 जोकरों के अलावा कोई डुप्लिकेट टाइल दिखाई नहीं देगी और यह कि आपको प्राप्त होने वाली टाइलें वैध हैं (उदाहरण के लिए जैसी चीजें 60
दिखाई नहीं देंगी)।
इनपुट आउटपुट
आप इनपुट ले सकते हैं और किसी भी मानक विधि द्वारा आउटपुट प्रदान कर सकते हैं।
कुछ मान्य इनपुट प्रारूप: तार की सूची, ट्यूपल्स की सूची, नेस्टेड सूची, तार, या कुछ और जो आपको उपयुक्त लगता है। रंगों को स्ट्रिंग्स (उदाहरण के लिए "Blue","Red", etc.
) के रूप में लिया जा सकता है , स्ट्रिंग संक्षिप्तीकरण के रूप में (कृपया ब्लू और ब्लैक टाइल्स को अलग पहचान दें), या एक रंग के पूर्णांक के रूप में। जब यह जोकर की बात आती है, तो आपको अपने प्रोग्राम को इनपुट के रूप में प्राप्त करने के तरीके का उल्लेख करना चाहिए। यदि आप स्ट्रिंग्स चुनते हैं RED 9, JOKER, ...
, तो आपके पास कुछ हो सकता है , यदि आप ट्यूपल्स चुनते हैं तो आपके पास (9,"RED"), ("JOKER")
या कुछ समान हो सकते हैं । यदि यह मदद करता है, तो आप उस जोकर के लिए एक रंग प्राप्त कर सकते हैं (जो आपके प्रोग्राम के आउटपुट को प्रभावित नहीं करना चाहिए)। उदाहरण के लिए, आपके पास ("JOKER","RED")
या हो सकता है ("JOKER","BLUE")
, लेकिन यह आउटपुट को किसी भी तरह से प्रभावित नहीं करना चाहिए।
आउटपुट के संबंध में, निर्णय-समस्या के लिए मानक नियम लागू होते हैं।
काम के उदाहरण
आइए एक उदाहरण लेते हैं, जो उम्मीद करता है कि इसे समझना आसान हो जाएगा। एक समूह को निम्नानुसार दिया गया है, जहां प्रत्येक ट्यूल टाइल का प्रतिनिधित्व करता है:
[(9, "RED"), (9, "ORANGE"), ("जोकर"), (9, "BLACK")]
यह एक सत्य मान लौटना चाहिए, क्योंकि इनपुट वैध है। इस मामले में, जोकर विकल्प देता है (9, "BLUE")
, और वे एक बहु-रंग समूह बनाते हैं।
यदि आपको निम्नलिखित समूह दिया जाएगा:
[(९, "ब्लू"), (९, "ऑरेंज"), (९, "रेड"), (९, "ब्लैक"), ("जोकर")]
यह अमान्य होगा, और इस तरह आपको प्रोग्राम को एक मिथ्या मूल्य वापस करना चाहिए, क्योंकि जोकर को स्थानापन्न करने के लिए कुछ भी नहीं बचा है, क्योंकि एक बहु-रंग समूह में कार्ड की अधिकतम संख्या 4 है।
अतिरिक्त परीक्षण मामले
ये एक विस्तारित परीक्षण सूट के लिए हैं जो लगभग सभी संभावित स्थितियों को कवर करते हैं:
इनपुट -> आउटपुट [(1, "BLUE"), (2, "BLUE"), (3, "BLUE"), (4, "BLUE"), (5, "BLUE"), (6, "BLUE")] - > सत्य [(6, "BLUE"), (6, "RED"), (6, "BLACK)] -> सत्य [(5, "काला"), (6, "काला"), (7, "काला"), (8, "काला") (9, "काला"), (10, "काला"), ( "जोकर"), (12, "ब्लैक")] -> सत्य [("जोकर"), (3, "BLUE"), (3, "RED")] -> सत्य [(8, "ब्लैक"), (2, "RED"), (13, "BLUE")] -> मिथ्या [(4, "RED"), (3, "RED"), (5, "RED")] -> मिथ्या [(5, "ब्लैक"), (6, "ब्लैक)] -> मिथ्या [("जोकर"), (5, "रेड"), ("जोकर")] -> मिथ्या [(4, "RED"), (5, "RED"), (6, BLUE ")] -> मिथ्या [(4, "RED"), ("जोकर"), (5, "RED")] -> मिथ्या [(१२, "ब्लैक"), (१३, "ब्लैक), (१," ब्लैक ")] -> मिथ्या
यह कोड-गोल्फ है , इसलिए हर भाषा में बाइट्स में सबसे छोटा कोड जीत जाता है!