खेल पिकोमिनो में , टेबल के बीच में कई टाइलें पड़ी हैं, जिनमें से प्रत्येक पर एक अलग सकारात्मक पूर्णांक है। प्रत्येक मोड़ पर, खिलाड़ी एक निश्चित तरीके से डाइस रोल करते हैं और एक अंक प्राप्त करते हैं, जो कि एक नॉननेगेटिव पूर्णांक है।
अब खिलाड़ी टाइल को उच्चतम संख्या के साथ लेता है जो अभी भी उनके स्कोर के बराबर या कम है, टाइल को बीच से हटाकर अपने स्टैक में जोड़ते हैं। यदि यह संभव नहीं है क्योंकि मध्य में सभी संख्याएं खिलाड़ी के स्कोर से अधिक होती हैं, तो खिलाड़ी अपने स्टैक से सबसे ऊपरी टाइल खो देता है (जिसे नवीनतम जोड़ा गया था), जो मध्य में वापस आ जाता है। यदि खिलाड़ी के पास कोई टाइल नहीं बची है, तो कुछ भी नहीं होता है।
चुनौती
खुद के खिलाफ खेल खेलने वाले खिलाड़ी का अनुकरण करें। आपको बीच में टाइल्स की एक सूची और खिलाड़ियों को मिलने वाले स्कोर की एक सूची मिलती है। सभी मुड़ने के बाद खिलाड़ी की टाइलों की सूची लौटाएं।
चुनौती के नियम
- आप यह मान सकते हैं कि टाइल्स के साथ सूची का आदेश दिया गया है और इसमें दो बार कोई पूर्णांक नहीं है।
- आप किसी भी क्रम में इनपुट की दोनों सूचियाँ ले सकते हैं
- आउटपुट को टाइल के क्रम को स्टैक पर रखना पड़ता है, लेकिन आप यह तय कर सकते हैं कि सूची को ऊपर से नीचे या नीचे से ऊपर तक क्रमबद्ध किया गया है या नहीं।
सामान्य नियम
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - डिफ़ॉल्ट I / O नियमों के साथ आपके उत्तर के लिए मानक नियम लागू होते हैं , इसलिए आपको उचित पैरामीटर और रिटर्न-प्रकार, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति है।
- डिफ़ॉल्ट लूपोल्स वर्जित हैं।
- यदि संभव हो, तो कृपया अपने कोड (यानी TIO ) के लिए एक परीक्षण के साथ एक लिंक जोड़ें ।
- आपके उत्तर के लिए स्पष्टीकरण जोड़ना अनुशंसित है।
उदाहरण
(6 वें टेस्टकेस से लिया गया)
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [22, 22, 22, 23, 21, 24, 0, 22]
पहला स्कोर 22 है, इसलिए बीच में सबसे ऊंची टाइल <= 22 लें, जो स्वयं 22 है।
Middle: [21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22]
Remaining scores: [22, 22, 23, 21, 24, 0, 22]
अगला स्कोर 22 है, इसलिए बीच में उच्चतम टाइल लें <= 22. क्योंकि 22 पहले से ही लिया गया है, खिलाड़ी को 21 लेना है।
Middle: [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22, 21]
Remaining scores: [22, 23, 21, 24, 0, 22]
अगला स्कोर 22 है, लेकिन सभी नंबर <= 22 पहले ही ले लिए गए हैं। इसलिए, खिलाड़ी स्टैक (21) पर सबसे ऊपरी टाइल खो देता है, जिसे बीच में लौटा दिया जाता है।
Middle: [21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22]
Remaining scores: [23, 21, 24, 0, 22]
अगला स्कोर 23, 21 और 24 है, इसलिए खिलाड़ी इन टाइलों को बीच से लेता है।
Middle: [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22, 23, 21, 24]
Remaining scores: [0, 22]
खिलाड़ी बस्ट और स्कोर शून्य। इसलिए, संख्या 24 (ढेर पर सबसे ऊपर) के साथ टाइल को बीच में लौटा दिया जाता है।
Middle: [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22, 23, 21]
Remaining scores: [22]
अंतिम स्कोर 22 है, लेकिन सभी टाइलें <= 22 पहले से ही ली गई हैं, इसलिए खिलाड़ी स्टैक पर सबसे ऊपरी टाइल खो देता है (21)।
Middle: [21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Final Stack and Output: [22, 23]
परीक्षण के मामलों
(आउटपुट सूची में सबसे अंतिम टाइल के साथ)
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [26, 30, 21]
Output: [26, 30, 21]
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [35, 35, 36, 36]
Output: [35, 34, 36, 33]
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [22, 17, 23, 19, 23]
Output: [23]
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: []
Output: []
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [22, 17, 23, 19, 23, 0]
Output: []
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [22, 22, 22, 23, 21, 24, 0, 22]
Output: [22, 23]
Tiles: [1, 5, 9, 13, 17, 21, 26]
Scores: [6, 10, 23, 23, 23, 1, 0, 15]
Output: [5, 9, 21, 17, 13, 1]
Tiles: []
Scores: [4, 6, 1, 6]
Output: []