यह चुनौती खेल टिक टीएसी को पैर की अंगुली के बारे में है, लेकिन यह एक टोरस पर खेला जाता है।
कैसे खेलें
आवश्यक गेम बोर्ड बनाने के लिए, आप एक नियमित टिक टीएसी पैर की अंगुली बोर्ड के साथ शुरुआत करते हैं। पहले इसे बाएँ और दाएँ किनारे से जोड़कर एक सिलेंडर में मोड़ो। फिर इसे ऊपर और नीचे के किनारे से जोड़कर टोरस में मोड़ें। इस तरह के गेम बोर्ड का एक सरल दृश्य कुछ चालों (सिक पेंट कौशल!) के साथ खेला जाता है।
एक टोरस पर टिक टीएसी को पैर की अंगुली के नियम नियमित टिक टीएसी को पैर की अंगुली के समान हैं। प्रत्येक खिलाड़ी X और Os को एकांतर स्थान देता है। पंक्ति, स्तंभ या विकर्ण में 3 समान प्रतीकों वाला पहला वाला जीतता है।
चूंकि एक टोरस की कल्पना करना काफी कठिन है, हम बस बोर्ड को एक कागज पर वापस प्रोजेक्ट करते हैं। अब हम नियमित टिक टीएसी को पैर की अंगुली के रूप में खेल खेल सकते हैं। एकमात्र अंतर यह है, कि आप टूटे हुए विकर्ण में 3 समान प्रतीकों के साथ भी जीत सकते हैं। उदाहरण के लिए प्लेयर 1 (X) निम्नलिखित बोर्ड जीतता है। टोरस पर दृश्य को थोड़ा बदलकर आप इसे आसानी से देख सकते हैं।
यदि आपकी रुचि है, तो आप टोरस गेम्स में एक टॉस्क पर टिक टीएसी को पैर की अंगुली खेल सकते हैं । एक विंडोज, मैक और Android संस्करण है।
इष्टतम खेल
इस चुनौती में इष्टतम खेलों में रुचि थी। एक इष्टतम खेल एक खेल है, जहां दोनों खिलाड़ी एक इष्टतम रणनीति खेलते हैं। एक नियमित टिक टीएसी को पैर की अंगुली बोर्ड पर इष्टतम खेल हमेशा एक ड्रॉ में समाप्त होते हैं। एक टॉरस बोर्ड पर आकर्षक रूप से हमेशा पहला खिलाड़ी जीतता है। वास्तव में एक टोरस बोर्ड पर एक खेल कभी भी ड्रॉ में समाप्त नहीं हो सकता है (भले ही खिलाड़ी इष्टतम न हों)।
इष्टतम रणनीति वास्तव में आसान है:
- यदि आप अपना प्रतीक रखकर जीत सकते हैं, तो करें।
- अन्यथा यदि आपके प्रतिद्वंद्वी के पास एक पंक्ति / स्तंभ / ,iagonal में दो प्रतीक हैं, तो उसे ब्लॉक करने का प्रयास करें। अन्यथा, जो आप चाहते हैं वह करें।
- नहीं तो तुम जो चाहते हो।
हर इष्टतम गेम में 7 चालें होती हैं और इन चालों का वर्णन निम्न तरीके से किया जा सकता है:
- खिलाड़ी 1 बोर्ड पर कहीं भी एक एक्स (9 विकल्प) रखता है
- खिलाड़ी 2 बोर्ड पर कहीं भी एक ओ (8 विकल्प) रखता है
- खिलाड़ी 1 बोर्ड पर कहीं भी एक एक्स (7 विकल्प) रखता है
- प्लेयर 2 की चाल को मजबूर किया जा सकता है (1 विकल्प), यदि नहीं, तो वह ओ को कहीं भी रखता है (6 विकल्प)
- प्लेयर 1 की चाल मजबूर है (1 पसंद)
- खिलाड़ी 2 एक कांटे में पकड़ा जाता है (खिलाड़ी 1 दो अलग-अलग तरीकों से जीत सकता है), इसलिए खिलाड़ी 2 को एक तरह से प्लेयर 1 को ब्लॉक करना होगा (2 विकल्प)
- खिलाड़ी 1 अपनी अंतिम चाल रखता है और जीतता है (1 विकल्प)
हमारे अनुमानित बोर्ड पर 9 * 8 * 1 * 6 * 1 * 2 * 1 + 9 * 8 * 6 * 1 * 1 * 2 * 1 = 1728 विभिन्न इष्टतम खेल हैं। यहाँ आप एक विशिष्ट इष्टतम खेल देख सकते हैं:
यदि हम बोर्ड के प्रत्येक सेल को अंकों के साथ लेबल करते हैं 0-8
, तो हम अंकों द्वारा इस खेल का वर्णन कर सकते हैं 3518207
। पहले एक X सेल 3 में एक जगह है सेल 3 (मध्य पंक्ति, दायां कॉलम) में सेल 1 (ऊपरी पंक्ति, मध्य स्तंभ) में एक एक्स की तुलना में सेल 3 (मध्य पंक्ति, बाएं स्तंभ) में स्थान है, ...
इस अंक संकेतन का उपयोग करके हमने स्वचालित रूप से एक आदेश उत्पन्न किया। अब हम सभी १ games२ and इष्टतम खेलों को सॉर्ट कर सकते हैं और हमें सूची मिलती है:
Game 0000: 0123845
Game 0001: 0123854
Game 0002: 0124735
Game 0003: 0124753
Game 0004: 0125634
...
Game 0674: 3518207
...
Game 1000: 5167423
Game 1001: 5167432
Game 1002: 5168304
...
Game 1726: 8765034
Game 1727: 8765043
चुनौती
यह सूची आपकी नौकरी का हिस्सा है। आपको k
0 और 1727 के बीच एक नंबर प्राप्त होगा और आपको k
उस क्रमबद्ध सूची के अंकन में वें गेम को वापस करना होगा ।
एक फ़ंक्शन या एक प्रोग्राम लिखें, जो संख्या प्राप्त करता है k
(पूर्णांक) संवाददाता गेम की गणना करता है। आप STDIN, कमांड-लाइन तर्क, प्रॉम्प्ट या फ़ंक्शन तर्क के माध्यम से इनपुट पढ़ सकते हैं और परिणाम (7 अंक) को एक पठनीय प्रारूप (जैसे 0123845
या [0, 1, 2, 3, 8, 4, 5]
) में प्रिंट कर सकते हैं या इसे एक स्ट्रिंग (मानव पठनीय प्रारूप) या पूर्णांक (सभी युक्त) का उपयोग करके वापस कर सकते हैं आधार 10 में अंक), या किसी भी सरणी / सूची प्रारूप में।
चुनौती का प्रकार कोड-गोल्फ है। इसलिए सबसे छोटा कोड जीतता है।