इस चुनौती का लक्ष्य यह निर्धारित करना है कि क्या एक कदम एक कानूनी अंग्रेजी चेकर्स चाल है।
यह चुनौती 8x8 बोर्ड का उपयोग करेगी। एक स्थानांतरित टुकड़े को एक आदमी (राजा नहीं) के रूप में माना जाना चाहिए जो केवल तिरछे आगे बढ़ सकता है। बोर्ड में 0 या अधिक काले टुकड़े और 1 या अधिक सफेद टुकड़े होंगे। एक सफेद टुकड़ा वर्तमान में चल रहा होगा। सफेद टुकड़ा उसके सामने तिरछे एक काले टुकड़े पर "कूद" सकता है यदि इसके पीछे का वर्ग सीधे खाली हो। उस स्थिति से एक और छलांग लेना संभव है यदि इसके सामने तिरछे दिशा में एक और काला टुकड़ा हो। कैप्चर अनिवार्य है, इसलिए यह उपलब्ध नहीं है कि कूदने के लिए अवैध है। हालांकि, एक रास्ता लेना अनिवार्य नहीं है जो कूद की संख्या को अधिकतम करता है। मूल रूप से, इसका मतलब है कि यदि आप एक छलांग लगाते हैं और अंत स्थिति से एक और संभव छलांग है तो यह कदम अवैध है। टुकड़े की स्थिति निम्नलिखित नंबरिंग योजना का उपयोग करती है:
नियम
इनपुट:
संख्याओं की एक सूची जो काले टुकड़ों का प्रतिनिधित्व करती है।
संख्या की एक सूची जो सफेद टुकड़ों का प्रतिनिधित्व करती है।
सफेद टुकड़े के लिए एक प्रारंभिक स्थिति
सफेद टुकड़े के लिए समाप्त होने की स्थिति
आउटपुट:
- एक सत्य मूल्य यदि चाल वैध है, अन्यथा एक गलत मूल्य
आप मान सकते हैं कि एक सफेद टुकड़ा हमेशा शुरुआती स्थिति पर कब्जा करेगा।
यदि सुविधाजनक है, तो आप यह मान सकते हैं कि सफेद टुकड़े की सूची में पहला सफेद टुकड़ा इनपुट 3 को स्वीकार करने के बजाय शुरुआती स्थिति में होगा।
मानक कोड गोल्फ नियम। सबसे कम बाइट्स जीतता है।
परीक्षण के मामलों
उदाहरण के लिए, O एक प्रारंभिक स्थिति है, X अंतिम स्थिति है, B काले टुकड़े हैं, और W सफेद टुकड़े हैं
Black pieces: []
White pieces: [5]
Move: (5, 1)
Output: True
Single move no jump
X _ _ _
O _ _ _
B: [6]
W: [9]
M: (9, 2)
O: True
Single jump
_ X _ _
_ B _ _
O _ _ _
B: [2, 6]
M: (9, 2)
O: False
Illegal ending position on top of black piece
_ X _ _
_ B _ _
O _ _ _
B: [7, 14]
W: [17]
M: (17, 3)
O: True
Double jump
_ _ X _
_ _ B _
_ _ _ _
_ B _ _
O _ _ _
B: [7, 14]
M: (17, 10)
O: False
Illegal jump, must take the next jump as well
_ _ _ _
_ _ B _
_ X _ _
_ B _ _
O _ _ _
B: [4]
W: [8]
M: (8, 3)
O: False
Illegal jump across the board
_ _ _ X
B _ _ _
O _ _ _
B: [6, 7]
W: [6]
M: (10, 1)
O: True
Split decision p1
X _ _ _
_ B B _
_ O _ _
B: [6, 7]
M: (10, 3)
O: True
Split decision p2
_ _ X _
_ B B _
_ O _ _
B: [2]
W: [1]
M: (1, 3)
O: False
Sideways Jump
O B X _
B: [6]
W: [1]
M: (1, 10)
O: False
Backwards Jump
O _ _ _
_ B _ _
_ X _ _
B: [6]
W: [9, 2]
M: (9, 2)
O: False
Illegal ending position on top of white piece
_ X _ _
_ B _ _
O _ _ _
B: []
W: [9, 6]
M: (9, 2)
O: False
Illegal jump over white piece
_ X _ _
_ W _ _
O _ _ _
B: [8, 15, 23, 24]
W: [27]
M: (27, 4)
O: True
Split decision long path
_ _ _ X
_ _ _ B
_ _ _ _
_ _ B _
_ _ _ _
_ _ B B
_ _ W _
B: [8, 15, 23, 24]
W: [27]
M: (27, 20)
O: True
Split decision short path
_ _ _ _
_ _ _ B
_ _ _ _
_ _ B _
_ _ _ X
_ _ B B
_ _ W _

B=[8,15,23,24];W=[27]प्रत्येक के साथ एक टेस्ट-केस जैसा सुझाव देता हूंM=[27,4]औरM=[27,20]यह दिशा को बदल देगा। 2 यह मेरे पास एक प्रश्न का उत्तर देगा: क्या दोनों वैध हैं या अब इसे लिया जाना चाहिए? ("कैप्चर अनिवार्य है, इसलिए यह कूदना गैरकानूनी है कि उपलब्ध नहीं है" दोनों तरह के सुझाव मान्य हैं, हालांकि मुझे नहीं पता कि आप इसे अवैध बनाते हैं कि यदि संभव हो तो इसे कैप्चर न करें, इसलिए शायद आप इसका मतलब समझें संभव के रूप में कई टुकड़े?)