При вводе четырех целых чисел x 1 , y 1 , x 2 и y 2 выведите, может ли белый король в шахматах (с координатами ( x 1 , y 1 )) поймать черную пешку (с координатами ( x 2 , y) 2 )) и поймайте его, если пешка движется, чтобы продвинуться до ферзя как можно быстрее.
Координаты доски следующие:
first coordinate (x)
12345678
1 .#.#.#.#
2 #.#.#.#.
3 .#.#.#.#
second 4 #.#.#.#.
coordinate 5 .#.#.#.#
(y) 6 #.#.#.#.
7 .#.#.#.#
8 #.#.#.#.
Предположим, что ход белых (ход короля), и что оба игрока играют оптимально (король будет двигаться как можно быстрее, чтобы поймать пешку, а пешка будет двигаться как можно быстрее для продвижения). Входные координаты всегда будут различны, и пешка никогда не начнется с y-координаты 8.
Король передвигается на одну клетку в любом направлении каждый ход (он может двигаться по диагонали), а пешка может двигаться только на одну клетку вперед (уменьшая свою координату y), если только она не находится в своей начальной позиции (с нашей системой координат, координатой y 7), в этом случае он может двигаться вперед на два пробела.
Входные данные могут быть заданы в виде строки, разделенной пробелами / запятыми, массива строк / целых чисел или четырех аргументов функции / командной строки / и т. Д. Координаты могут быть заданы в любом удобном порядке / для гольфа (поэтому принимать входные данные как [y 2 , y 1 , x 1 , y 2 ] можно только при условии их согласованности). Вывод должен быть истинным или ложным значением .
Поскольку это код-гольф , выигрывает самый короткий код в байтах.
Правдивые тестовые случаи :
5 3 3 2
6 1 1 7
3 3 3 2
4 1 4 7
7 7 1 7
1 8 1 7
Ложные тесты :
6 4 3 2
8 8 1 7
3 4 3 2
1 8 1 7
, в котором король захватывает, прежде чем пешка может переместиться на два пробела. Я думаю, что все ответы теперь не так. Эта ситуация делает проблему намного сложнее.
x1 y1 x2 y2
?