Для решения задачи, нужно учитывать правила хода шахматной ладьи. Ладья ходит только по горизонтали или вертикали, то есть она может перемещаться по клеткам, находящимся в одном ряду или одном столбце.
Давайте рассмотрим алгоритм для решения задачи:
- Вводим четыре числа, которые представляют координаты двух клеток на шахматной доске.
- Проверяем, находятся ли эти клетки в одном ряду или одном столбце.
- Если клетки находятся в одном ряду или столбце, выводим "YES". В противном случае, выводим "NO".
Реализуем этот алгоритм на Python:
# Ввод координат первой клетки
x1 = int(input("Введите номер столбца первой клетки (от 1 до 8): "))
y1 = int(input("Введите номер строки первой клетки (от 1 до 8): "))
# Ввод координат второй клетки
x2 = int(input("Введите номер столбца второй клетки (от 1 до 8): "))
y2 = int(input("Введите номер строки второй клетки (от 1 до 8): "))
# Проверка условий для хода ладьи
if x1 == x2 or y1 == y2:
print("YES")
else:
print("NO")
Разберем код подробнее:
x1
, y1
, x2
, y2
- это координаты первой и второй клетки соответственно. Мы принимаем их как входные данные от пользователя.
- Поскольку ладья ходит по горизонтали или вертикали, проверяем два условия:
- Если номера столбцов (x1 и x2) совпадают, это означает, что клетки находятся в одном столбце.
- Если номера строк (y1 и y2) совпадают, это означает, что клетки находятся в одном ряду.
- Если выполняется хотя бы одно из этих условий (x1 == x2 или y1 == y2), выводим "YES". В противном случае, выводим "NO".
Этот код решает поставленную задачу, проверяя возможность перемещения ладьи с одной клетки на другую за один ход.