Решение 2. Анализ через f(a, b, m)
🔹 Шаг 1. Как формализована игра
Есть две кучи с камнями (a, b). За ход — увеличить одну кучу на +1 или ×3.
Игра заканчивается, когда a + b ≤ 53.
🔹 Шаг 2. Функция f(a, b, m)
def f(...):
...
📌 f(a, b, m) — текущий игрок выигрывает за m полуходов анализа.
🔹 Шаг 3. Базовый случай
📌 При завершении игры или m < 0 — m % 2 == 0.
🔹 Шаг 4. Ходы и any/all
return any(h) if (m - 1) % 2 == 0 else all(h)
📌 Чередование any и all по чётности хода.
✅ Задание 21
print([s for s in range(35, 1001) if not f(19, s, 2) and f(19, s, 4)])
📌 У Вани есть победа за 1–2 хода, но нет мгновенной победы. Ответ: 111.