चैट में चर्चा से @ मार्टिनबटनर को धन्यवाद
महजोंग एक टाइल गेम है जो एशिया में बेहद लोकप्रिय है। यह आमतौर पर चार खिलाड़ियों के साथ खेला जाता है, और खेल का लक्ष्य टाइल्स का उपयोग करके वैध हाथ पूरा करने वाला पहला व्यक्ति होना है। इस चुनौती के लिए, हम खेल के एक सरल संस्करण - पीपीसीजी माहजोंग पर विचार करेंगे।
- PPCG महजोंग में, वहाँ तीन सूट कर रहे हैं m, pऔर s- और टाइल्स से गिने जा रहे हैं 1करने के लिए 9। वहाँ वास्तव में प्रत्येक टाइल के चार प्रतियां हैं, और टाइल्स इसकी संख्या अपने सूट के बाद (जैसे से चिह्नित हैं 3m, 9s)।
एक पूरा पीपीसीजी माहजोंग हाथ में कुल 14 टाइलों के लिए तीन और एक जोड़ी के चार सेट होते हैं।
तीन का एक सेट या तो हो सकता है:
- एक ही टाइल के तीन (जैसे
4s 4s 4s, लेकिन नहीं4m 4p 4s), या - एक ही सूट में तीन लगातार टाइल्स का एक क्रम (जैसे
1s 2s 3sया6p 7p 8pलेकिन नहीं3s 4m 5mया नहीं3p 5p 7p)। अनुक्रम लपेटता नहीं है (इसलिए9m 1m 2mअमान्य है)।
एक जोड़ी बस दो समान टाइल (जैसे 5s 5s) है।
चुनौती
आपके कार्यक्रम को 13 टाइलों का एक अलग-अलग हाथ प्राप्त होगा, जिसमें प्रत्येक टाइल चार बार से अधिक नहीं दिखाई देगी। आप एक पूर्ण कार्यक्रम या एक फ़ंक्शन लिख सकते हैं जो एक स्ट्रिंग में लेता है।
अपने काम के लिए सभी संभव 14 वीं टाइल ("इंतजार") है, जो जब हाथ में जोड़ा जाता है, एक पूरा पीपीसीजी माहजोंग हाथ बनाने के लिए है। आउटपुट की गई टाइलें अंतरिक्ष-अलग होनी चाहिए, लेकिन किसी भी क्रम में हो सकती हैं। व्हाट्सएप को लीड या ट्रेल करने की अनुमति है।
आपका कार्यक्रम उचित समय पर चलना चाहिए, एक मिनट से अधिक नहीं।
उदाहरण
Input: 1m 1m 1m 4s 4s 4s 7p 7p 7p 3m 3m 3m 9s
Output: 9s
Input: 1m 1m 1m 3m 3m 3m 5m 5m 5m 2s 3s 7p 8p
Output:
Input: 1m 2m 2m 3m 3m 3m 3m 4m 1s 1s 9s 9s 9s
Output: 1s
Input: 1m 1m 1m 2m 3m 4m 5m 6m 7m 8m 9m 9m 9m
Output: 1m 2m 3m 4m 5m 6m 7m 8m 9m
Input: 1m 1m 1m 5p 2m 3m 5p 7s 8s 5p 9s 9s 9s
Output: 1m 4m 6s 9s
पहले उदाहरण में, 1m 4s 7p 3mसभी फार्म मौजूदा ट्रिपल हैं, जो 9sएक जोड़ी बनाने के लिए अकेला छोड़ते हैं ।
दूसरे उदाहरण में, 2s 3sऔर 7p 8pकेवल अनुक्रम बना सकते हैं, और शेष टाइलें केवल ट्रिपल बना सकती हैं। इसलिए कोई जोड़ी नहीं बनाई जा सकती है, और कोई आउटपुट नहीं है।
तीसरे उदाहरण में, हाथ में विभाजन होता है 1m2m3m 2m3m4m 3m3m 1s1s 9s9s9s। आम तौर पर यह एक प्रतीक्षा होगी 3m 1s, लेकिन जैसा कि सभी चार 3mका उपयोग किया गया है, केवल उपलब्ध प्रतीक्षा है 1s।
चौथे उदाहरण में, सभी mटाइलें हाथ से पूरी होती हैं। उदाहरण के लिए, उदाहरण के लिए, एक पूरा हाथ 1mहो सकता है 1m1m1m 1m2m3m 4m5m6m 7m8m9m 9m9m।
चौथे उदाहरण के बाकी हिस्सों और पांचवें उदाहरण के बाहर काम करने की कोशिश करें :)
स्कोरिंग
यह कोड-गोल्फ है , इसलिए सबसे कम बाइट्स में समाधान जीतता है। मानक खामियां लागू होती हैं।