Шоколадка
Вы решили задачу. Теперь можно сравнить подходы.
При одном прямом разломе часть состоит из целого числа строк или столбцов.
Авторский разбор для локальной версии на основе условия задачи. Это не выгрузка чужих посылок и не официальное решение исходного сайта.
Ваше принятое решение
Рекомендуемое решение: Проверка делимости
Площадь отломленной полосы кратна одной из сторон, а обе части должны быть непустыми.
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).
На что обратить внимание
- Нельзя отломить всю шоколадку как одну из двух непустых частей.
Рекомендация учитывает сложность и читаемость для этой задачи. Единственного самого быстрого решения для всех размеров входа и всех компьютеров может не быть.