СреднеПрограммирование
Как на Python проверить, может ли ладья пройти между двумя клетками за один ход?
Коротко
Ладья проходит за один ход, если совпадает столбец или строка:
x1 == x2 or y1 == y2.Условие
Даны две различные клетки шахматной доски. Определите, может ли ладья попасть с первой клетки на вторую одним ходом. Препятствия другими фигурами в этой задаче не рассматриваются.
Входные данные
Четыре целых числа от 1 до 8: столбец и строка первой клетки, затем столбец и строка второй. Числа могут быть записаны на отдельных строках.
Выходные данные
Выведите YES, если ход возможен, иначе NO.
Примеры
| Входные числа | Вывод |
|---|---|
| 6 6 8 8 | NO |
| 1 4 7 4 | YES |
| 2 6 2 1 | YES |
Разбор
Ладья перемещается по вертикали или горизонтали. Поэтому достаточно проверить равенство столбцов либо равенство строк. По условию клетки различны.
import sys
x1, y1, x2, y2 = map(int, sys.stdin.read().split())
print('YES' if x1 == x2 or y1 == y2 else 'NO')
sys.stdin.read().split() корректно читает числа и через пробелы, и через переводы строк. Программа использует O(1) времени и дополнительной памяти для фиксированных четырёх координат.
Платформы
- MAXIMUM