Ctrl K

Ладья или слон берут ферзя

Средняя
На шахматной доске 8 × 8 (строки и столбцы нумеруются от 1 до 8) стоят три фигуры: белая ладья на (rook_row, rook_col), белый слон на (bishop_row, bishop_col) и чёрный ферзь на (queen_row, queen_col). Ходят только белые, ферзь неподвижен. Ладья ходит на любое число клеток по вертикали или горизонтали, слон — по диагонали; перепрыгивать через фигуры нельзя. Фигура берёт ферзя, если может пойти на его клетку. Верните наименьшее число ходов белых, за которое можно взять ферзя.
Пример 1
rook_row=2, rook_col=5, bishop_row=7, bishop_col=7, queen_row=2, queen_col=1 → 1

Ладья стоит в той же строке 2, что и ферзь, и между ними никого нет — один ход.

Пример 2
rook_row=4, rook_col=4, bishop_row=4, bishop_col=6, queen_row=4, queen_col=8 → 2

Ладью закрывает собственный слон на (4, 6), а слон по диагонали ферзя не бьёт. Нужно два хода: например, слон уходит с линии, затем ладья берёт ферзя.

Пример 3
rook_row=1, rook_col=1, bishop_row=3, bishop_col=3, queen_row=6, queen_col=6 → 1

Слон бьёт ферзя по диагонали, а ладья стоит позади слона и ему не мешает.

Ограничения
  • Все координаты — целые числа от 1 до 8
  • Никакие две фигуры не стоят на одной клетке
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПростые числа до границы СредняяПеремешать цифры до степени двойки СредняяСуммы двух степеней СредняяКратное из двух цифр СредняяКнопки микроволновки Средняя
загружаем Python…
Вход
rook_row=2, rook_col=5, bishop_row=7, bishop_col=7, queen_row=2, queen_col=1
Ожидается
1

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 91 тест на сервере, включая скрытые.