कनेक्ट

कनेक्ट

कठिन

निर्देश

Hex / Polygon के खेल का परिणाम निकालिए।

Hex / Polygon / CON-TAC-TIX नाम का यह अमूर्त बोर्ड गेम नियमों में काफी आसान है, हालाँकि व्यवहार में जटिल है। दो खिलाड़ी षट्भुजाकार खानों वाले एक समांतर चतुर्भुज पर अपनी गोटियाँ रखते हैं। जो खिलाड़ी अपनी गोटियों को पहले सामने वाली भुजा से जोड़ देता है, वह जीत जाता है। समांतर चतुर्भुज की चारों भुजाएँ दोनों खिलाड़ियों के बीच बाँट दी जाती हैं (यानी एक खिलाड़ी को एक भुजा और उसके ठीक सामने वाली भुजा मिलती है, और दूसरे खिलाड़ी को बाकी दो भुजाएँ)।

आपको ऐसा प्रोग्राम बनाना है जो बोर्ड को सरल रूप में दिए जाने पर विजेता बताए (या यह कि कोई विजेता नहीं है)। ध्यान रखिए कि सभी खेल "निष्पक्ष" होना ज़रूरी नहीं है। (उदाहरण के लिए, दोनों खिलाड़ियों के पास अलग-अलग संख्या में गोटियाँ हो सकती हैं, या बोर्ड की चौड़ाई और ऊँचाई अलग हो सकती है।)

बोर्ड ऐसे दिखते हैं:

. O . X .
 . X X O .
  O O O X .
   . X O X O
    X O O O X

"खिलाड़ी O" ऊपर से नीचे की ओर खेलता है, और "खिलाड़ी X" बाएँ से दाएँ की ओर खेलता है। ऊपर के उदाहरण में O ने बाएँ से दाएँ तक जोड़ बना लिया है, लेकिन कोई जीता नहीं है, क्योंकि O ने ऊपर और नीचे को नहीं जोड़ा।

ट्रैक-विशिष्ट निर्देश

आप देख सकते हैं कि कुछ टेस्ट केस अनुचित लगते हैं। लेकिन हो सकता है कि वे वैध कारणों से ही अनुचित लग रहे हों। उदाहरण के लिए, कम उम्र के या शुरुआती खिलाड़ियों को बोर्ड पर तय जगहों पर n अतिरिक्त मोहरे देना आम बात है। इससे ऐसे खेल में, जो बाकी हर तरह से पूरी तरह वैध है, मोहरों की संख्या बेमेल हो सकती है।

किसी भी स्थिति में, इस अभ्यास में केवल यह तय करना है कि ऐसे खेल का विजेता कौन है, जिसमें बोर्ड की लंबाई और अतिरिक्त मोहरे जैसे कई पैरामीटर हो सकते हैं। इस अभ्यास को खेल की किसी और स्थिति से मतलब नहीं है, जैसे किसने कहाँ और कब चाल चली, या किसकी बारी है।

तो ऐसे अनुचित लगने वाले खेलों को देखकर उलझन में न पड़ें।

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Scala Exercism

कनेक्ट शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Scala को 95 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।