这项挑战的目标是确定此举是否是合法的英国跳棋棋子。
这项挑战将使用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 _
抱歉,我不知道该怎么玩(英语)跳棋。您是否愿意添加一些有关法律措施的更多详细信息。
—
tsh
捕获是强制性的,因此不进行可用的跳转是非法的。“跳”是什么意思?
—
暴民埃里克(Erik the Outgolfer)
@JonathanAllan我想我在解释中回答了您的问题,并添加了测试用例。
—
aoemica '18
B=[8,15,23,24];W=[27]
与M=[27,4]
和M=[27,20]
1.相同的测试用例,它将改变方向。2它会回答我的一个问题:都是有效的还是必须更长的时间?(“捕获是强制性的,因此不进行可用的跳转是非法的。”这两种建议都是有效的,尽管我不知道为什么您将非法捕获视为非法,所以也许您是想越多越好?)