Для решения этой задачи необходимо понимать принцип движения шахматной ладьи: она может переместиться на любую клетку, которая находится либо в том же столбце, либо в той же строке, что и исходная. Логика решения Пусть первая клетка имеет координаты , а вторая — .
- Одинаковый столбец: это условие выполняется, если . Одинаковая строка: это условие выполняется, если .
Если хотя бы одно из этих условий истинно, ладья может совершить ход. Поскольку в условии сказано, что клетки различные, нам не нужно дополнительно проверять, не совпадают ли координаты полностью. Примеры входных и выходных данных
| Входные данные (x1, y1, x2, y2) | Результат | Пояснение |
|---|---|---|
1 1 1 8 | YES | Тот же столбец (1) |
1 1 8 1 | YES | Та же строка (1) |
1 1 2 2 | NO | Разные строки и разные столбцы |
Реализация на языке Python Ниже представлен лаконичный код для решения этой задачи: python
# Считываем четыре целых числаx1 = int(input()) y1 = int(input()) x2 = int(input()) y2 = int(input()) # Проверяем условие: совпадает ли номер столбца ИЛИ номер строкиif x1 == x2 or y1 == y2: print("YES") else: print("NO") Use code with caution.Математическое описание условия С точки зрения математики, ладья может переместиться из в тогда и только тогда, когда выполняется логическое выражение: Где символ обозначает логическое "ИЛИ". Хотите, я помогу вам составить аналогичный алгоритм для другой шахматной фигуры, например, для слона или ферзя?Форма ответа
Ответы и вопросы пользователей