Мета цього виклику - визначити, чи є переїзд законним кроком англійської шашки .
У цьому виклику буде використана дошка 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]з кожним з 1.M=[27,4]іM=[27,20]він дасть зміну напрямку. 2 він відповість на запитання, яке я маю: чи дійсні, чи потрібно тривати довше? ("Захоплення є обов'язковим, тому забороняється виконувати стрибок, який є в наявності", припускає, що обидва є дійсними, хоча я не знаю, чому ви забороняєте не захоплювати, якщо можливо, тому, можливо, ви маєте на увазі взяти за якомога більше творів?)