Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Первый ход делает Петя. За один ход игрок может: добавить в одну из куч 1 камень; увеличить количество камней в одной из куч в 3 раза. Игра завершается, когда суммарное количество камней в двух кучах становится не менее 155. В начальный момент в первой куче 15 камней, во второй — камней; .
Известно, что Ваня выиграл своим первым ходом после неудачного хода Пети. Укажите минимальное значение , при котором такая ситуация возможна.
Решение:
Решение на Python:
from functools import lru_cache
@lru_cache(None)
def F(k1, k2, x):
if k1+k2 >= 155: return x % 2 == 0
if x == 0: return 0
h = [F(k1+1,k2,x-1), F(k1*3,k2,x-1),
F(k1,k2+1,x-1), F(k1,k2*3,x-1)]
return any(h)
print(min([k for k in range(1, 140) if F(15, k, 2)]))
Ответ:
16
ЕГЭ · Информатика · Основная волна (день 1) 2026