संकट
आप जंगल के बीच में एक केबिन में फंस गए हैं, केवल अपने आप को मनोरंजन करने के लिए एक पुराना स्क्रैबल सेट के साथ। निरीक्षण करने पर आप देखते हैं कि स्क्रैबल अक्षर इतने खराब होते हैं, कि प्रत्येक अक्षर के लिए केवल बिंदु दिखाई देते हैं।
फिर भी आप एक खेल खेलने का फैसला करते हैं। आप बैग से सात पत्र खींचते हैं और उन्हें अपनी ट्रे पर रख देते हैं, आपकी चुनौती यह निर्धारित करना है कि वे पत्र क्या हो सकते हैं।
इसलिए आम तौर पर, अंकों की एक सूची को किसी भी संभावित स्ट्रिंग या अक्षरों की सूची में बदल दिया जाता है।
स्क्रैबल टाइल और वितरण
- 2 खाली टाइलें (0 अंक स्कोरिंग)
- 1 बिंदु: ई × 12, ए × 9, आई × 9, ओ × 8, एन × 6, आर × 6, टी × 6, एल × 4, एस × 4, यू × 4
- 2 अंक: डी × 4, जी × 3
- 3 अंक: बी × 2, सी × 2, एम × 2, पी × 2
- 4 अंक: एफ × 2, एच × 2, वी × 2, डब्ल्यू × 2, वाई × 2
- 5 अंक: K × 1
- 8 अंक: J × 1, X × 1
- 10 अंक: क्यू × 1, जेड × 1
इसलिए यदि आपके पास अंकों की सूची है [10,10,8,5,1,1,1]
तो "QZJKEEE"
मान्य "QQJKEEE"
होगी लेकिन मान्य नहीं होगी (क्योंकि बैग में केवल 1 क्यू टाइल है)
समस्या विशिष्ट नियम
- आप मान सकते हैं कि सभी इनपुट मान्य हैं और इसमें हमेशा 7 टाइलें होंगी (यानी यह सात 10 पॉइंट टाइल्स की सूची नहीं होगी और 9 टाइलें नहीं होंगी)
- आप मान सकते हैं कि बैग से पहले कोई टाइल नहीं खींची गई है (इसलिए वितरण ऊपर बताए अनुसार अंग्रेजी टाइल्स का मानक वितरण है)
- आपको एक मान्य शब्द उत्पन्न करने की आवश्यकता नहीं है, केवल अक्षरों का एक वैध स्ट्रिंग है।
- आपकी स्ट्रिंग का क्रम तब तक अप्रासंगिक है जब तक प्रत्येक टाइल के लिए एक समान अक्षर होता है।
- अंक मानक अंग्रेजी स्क्रैबल टाइल बिंदुओं पर आधारित हैं जैसा कि ऊपर परिभाषित किया गया है।
- आप ऊपरी या निचले मामले में उत्पादन कर सकते हैं, एक खाली टाइल के लिए आप या तो एक अंतरिक्ष चरित्र या अंडरस्कोर '_' का उत्पादन कर सकते हैं।
- आपका उत्तर किसी सूची, स्ट्रिंग, सरणी या अनुक्रम जैसी टाइलों के किसी उचित प्रतिनिधित्व के रूप में आउटपुट कर सकता है
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - डिफ़ॉल्ट I / O नियमों के साथ आपके उत्तर के लिए मानक नियम लागू होते हैं , इसलिए आपको उचित पैरामीटर और रिटर्न-प्रकार, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति है। तुम्हारा कॉल।
- डिफ़ॉल्ट ढीले निषिद्ध हैं।
- यदि संभव हो, तो कृपया अपने कोड (यानी TIO ) के लिए एक परीक्षण के साथ एक लिंक जोड़ें ।
- साथ ही, आपके उत्तर के लिए स्पष्टीकरण जोड़ने की अत्यधिक अनुशंसा की जाती है।
परीक्षण के मामलों
जाहिर है जब से आप किसी भी संभावित मूल्य का उत्पादन कर सकते हैं, तो सख्त परीक्षण मामलों को परिभाषित करना मुश्किल है।
संभावित वैध वापसी मूल्य वाले कुछ मामले :
[10,0,10,5,8,8,0] -> "Q ZKJX "
[1,1,1,1,1,1,1] -> "EEEEEEE"
[1,2,3,4,5,8,0] -> "NDBHKJ "
[2,2,2,2,2,2,2] -> "DGDGDGD"
अमान्य रिटर्न मान वाले कुछ मामले :
[10,0,10,5,8,8,0] -> "Q QKJX " - Too many Qs
[1,1,1,1,1,1,1] -> "EEEEEE " - Space is 0 points not 1
[1,2,3,4,5,8,0] -> "NDBH" - Too short
[1,2,3,4,5,8,0] -> "NDBHKJ I" - Too long
[1,2,3,4,5,8,0] -> "ÉDBHKJ1" - Contains none scrabble characters
[2,2,2,2,2,2,2] -> "GDGDGDG" - Contains too many Gs (case for invalid cycling)
[2,2,2,2,2,2,2]
(एक ही मामला जहां साइकिल चलाने की विधि का उपयोग करने के D
बजाय शुरू करना महत्वपूर्ण है G
)