Мини-урок · перед практикой
Ход ферзя
Общая строка, столбец или диагональ позволяют ход ферзя.
Как к ней подойти
Потренируйтесь переводить условие в проверку: какие случаи возможны и в каком порядке их проверять.
Коротко о теме
Ветвление выбирает один из нескольких вариантов. Запишите каждый случай словами, затем переведите их в if, elif и else. Отдельно проверьте границы: равенство часто меняет ответ.
Ключевая идея · Проверка смещений
Общая строка, столбец или диагональ позволяют ход ферзя.
Проверьте перед запуском
- Клетки по условию различны; ответ печатается латинскими YES или NO.
После практики
Сравните свой подход
Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.
Ваше принятое решение
Рекомендуемое решение: Проверка смещений
Общая строка, столбец или диагональ позволяют ход ферзя.
x1 = int(input())
y1 = int(input())
x2 = int(input())
y2 = int(input())
dx = abs(x2 - x1)
dy = abs(y2 - y1)
print("YES" if dx == 0 or dy == 0 or dx == dy else "NO")
Время: O(1). Память: O(1).
Другой способ: Другая форма условия
Та же геометрия выражена через алгебраическое условие.
x1 = int(input())
y1 = int(input())
x2 = int(input())
y2 = int(input())
dx = abs(x2 - x1)
dy = abs(y2 - y1)
print("YES" if x1 == x2 or y1 == y2 or x1 + y1 == x2 + y2 or x1 - y1 == x2 - y2 else "NO")
Время: O(1). Память: O(1).