Go गिनती

Go गिनती

मध्यम

निर्देश

गो के खेल में (जिसे baduk, igo, cờ vây और wéiqí भी कहते हैं) अंक तब मिलते हैं जब आप अपने पत्थरों से खाली प्रतिच्छेदों को पूरी तरह घेर लेते हैं। किसी खिलाड़ी के घिरे हुए प्रतिच्छेदों को उसका क्षेत्र कहा जाता है।

हर खिलाड़ी के क्षेत्र की गणना कीजिए। आप यह मान सकते हैं कि विरोधी के क्षेत्र में फँसे हुए पत्थर पहले ही बोर्ड से हटा दिए गए हैं।

यह निर्धारित कीजिए कि दिया गया निर्देशांक किस क्षेत्र में आता है।

एक साथ कई खाली प्रतिच्छेद घेरे जा सकते हैं, और घेरने के लिए केवल आड़े और खड़े पड़ोसी ही गिने जाते हैं। अगले चित्र में जो पत्थर मायने रखते हैं उन्हें "O" से दर्शाया गया है, और जो नहीं रखते उन्हें "I" (अनदेखा) से। खाली जगहें खाली प्रतिच्छेद दर्शाती हैं।

+----+
|IOOI|
|O  O|
|O OI|
|IOI |
+----+

अधिक सटीक रूप से कहें तो, कोई खाली प्रतिच्छेद किसी खिलाड़ी के क्षेत्र का हिस्सा तब होता है जब उसके सारे पड़ोसी या तो उस खिलाड़ी के पत्थर हों, या ऐसे खाली प्रतिच्छेद हों जो उस खिलाड़ी के क्षेत्र का हिस्सा हैं।

अधिक जानकारी के लिए Wikipedia या Sensei's Library देखिए।

इनपुट प्रारूप

board पैरामीटर, जो खेल के बोर्ड को दर्शाता है, स्ट्रिंग के ऐरे के रूप में होता है।

['  B  ', ' B B ', 'B W B', ' W W ', '  W  '];

स्ट्रिंग का हर अक्षर एक सेल को दर्शाता है। किसी सेल के लिए मान्य वैल्यू ये हैं:

  • एक स्पेस, जो एक खाली सेल को दर्शाता है
  • B वह सेल जो काले खिलाड़ी के पास है
  • W वह सेल जो सफेद खिलाड़ी के पास है

आउटपुट प्रारूप

getTerritory फंक्शन से अपेक्षा है कि वह 2 प्रॉपर्टी वाला एक ऑब्जेक्ट लौटाए:

  • owner क्षेत्र का मालिक (NONE, BLACK या WHITE)
  • territory क्षेत्र के हर सेल को दर्शाने वाले निर्देशांकों का ऐरे।
{
    owner: 'BLACK',
    territory: [
        [0, 0],
        [0, 1],
        [1, 0],
    ],
}

getTerritories फंक्शन से अपेक्षा है कि वह 3 प्रॉपर्टी वाला एक ऑब्जेक्ट लौटाए:

  • territoryBlack BLACK खिलाड़ी के पास मौजूद क्षेत्रों को दर्शाने वाले निर्देशांकों का ऐरे
  • territoryWhite WHITE खिलाड़ी के पास मौजूद क्षेत्रों को दर्शाने वाले निर्देशांकों का ऐरे
  • territoryNone किसी भी खिलाड़ी के पास न होने वाले क्षेत्रों को दर्शाने वाले निर्देशांकों का ऐरे
{
    territoryBlack: [
        [0, 0],
        [0, 1],
    ],
    territoryWhite: [
        [3, 0],
        [3, 1],
    ],
    territoryNone: [],
}
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
JavaScript Exercism

Go गिनती शुरू करने के लिए तैयार हैं?

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