Mục tiêu của thử thách này là xác định xem một động thái có phải là một động thái kiểm tra tiếng Anh hợp pháp hay không .
Thử thách này sẽ sử dụng một bảng 8x8. Một mảnh di chuyển nên được coi là một người đàn ông (không phải là một vị vua) chỉ có thể di chuyển theo đường chéo về phía trước. Bảng sẽ có 0 hoặc nhiều mảnh đen và 1 hoặc nhiều mảnh trắng. Một mảnh màu trắng sẽ được di chuyển. Mảnh trắng có thể "nhảy" qua một mảnh màu đen theo đường chéo phía trước nó nếu hình vuông ngay phía sau nó trống. Có thể nhảy xa hơn từ vị trí đó nếu có một mảnh màu đen khác theo hướng chéo ở phía trước nó. Chụp là bắt buộc, vì vậy việc không có một bước nhảy có sẵn là bất hợp pháp. Tuy nhiên, không bắt buộc phải đi một con đường tối đa hóa số lần nhảy. Về cơ bản, điều này có nghĩa là nếu bạn thực hiện một cú nhảy và có một bước nhảy khác có thể từ vị trí kết thúc thì động thái đó là bất hợp pháp. Vị trí mảnh sử dụng sơ đồ đánh số sau:
Quy tắc
Đầu vào:
Một danh sách các số đại diện cho các mảnh màu đen.
Một danh sách các số đại diện cho các mảnh màu trắng.
Vị trí bắt đầu cho mảnh trắng
Vị trí kết thúc cho mảnh trắng
Đầu ra:
- Giá trị trung thực nếu di chuyển là hợp lệ, nếu không thì giá trị falsey
Bạn có thể giả định một mảnh màu trắng sẽ luôn chiếm vị trí bắt đầu.
Nếu thuận tiện, bạn có thể giả sử rằng mảnh trắng đầu tiên trong danh sách mảnh trắng sẽ chứa vị trí bắt đầu thay vì chấp nhận đầu vào 3.
Luật golf tiêu chuẩn. Ít byte nhất sẽ thắng.
Các trường hợp thử nghiệm
Để minh họa, O là vị trí bắt đầu, X là vị trí kết thúc, B là các mảnh màu đen và W là các mảnh màu trắng
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]
với mỗiM=[27,4]
vàM=[27,20]
1. nó sẽ thay đổi hướng. 2 nó sẽ trả lời một câu hỏi tôi có: cả hai đều hợp lệ hoặc phải được thực hiện lâu hơn? ("Chụp là bắt buộc, vì vậy không hợp pháp khi không thực hiện một bước nhảy có sẵn", cả hai đều gợi ý là hợp lệ, mặc dù tôi không biết tại sao bạn lại bắt không hợp pháp nếu có thể, vì vậy có lẽ bạn muốn nhận nhiều mảnh nhất có thể?)