В игре, описанной в задании 19, в начальный момент в первой куче было S камней, а во второй – 7 камней, 1 S
45 Найдите такое значение S, при котором у Вани есть стратегия, позволяющая ему выиграть вторым ходом при любой игре Пети, но у Вани нет стратегии, которая позволяла бы ему гарантированно выиграть первым ходом.
Программная реализация:
from functools import lru_cache
@lru_cache(None)
def f(a,b,c = 0):
if a+b >= 61:
return 0
if c > 3:
return 10000
if a > b: t = [f(a+i,b,c+1) for i in range(1, a+1)]
else: t = [f(a,b+i,c+1) for i in range(1, b+1)]
n = [i for i in t if i <= 0]
if n:
return -max(n) + 1
return -max(t)
ans = []
for i in range(1,46):
if f(7,i) == -2:
ans += [i]
print(ans)
Ответ: 12