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

Шоколадка

При одном прямом разломе часть состоит из целого числа строк или столбцов.

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

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

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

Ветвление выбирает один из нескольких вариантов. Запишите каждый случай словами, затем переведите их в if, elif и else. Отдельно проверьте границы: равенство часто меняет ответ.

Ключевая идея · Проверка делимости

Площадь отломленной полосы кратна одной из сторон, а обе части должны быть непустыми.

Проверьте перед запуском

  • Нельзя отломить всю шоколадку как одну из двух непустых частей.

Сравните свой подход

Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.

Ваше принятое решение

Рекомендуемое решение: Проверка делимости

Площадь отломленной полосы кратна одной из сторон, а обе части должны быть непустыми.

n = int(input())
m = int(input())
k = int(input())
print('YES' if 0 < k < n * m and (k % n == 0 or k % m == 0) else 'NO')

Время: O(1). Память: O(1).

Другой способ: Перебор линий разлома

Явно проверяем каждый горизонтальный и вертикальный разлом.

n = int(input())
m = int(input())
k = int(input())
possible = any(i * m == k for i in range(1, n))
possible = possible or any(j * n == k for j in range(1, m))
print('YES' if possible else 'NO')

Время: O(n + m). Память: O(1).