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