Мини-урок · перед практикой

Ход ферзя

Общая строка, столбец или диагональ позволяют ход ферзя.

Как к ней подойти

Потренируйтесь переводить условие в проверку: какие случаи возможны и в каком порядке их проверять.

Коротко о теме

Ветвление выбирает один из нескольких вариантов. Запишите каждый случай словами, затем переведите их в 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).