Для игры, описанной в задании 19, найдите минимальное значение S, при котором одновременно выполняются два условия:
— у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
— у Вани нет стратегии, которая позволит ему гарантированно выиграть первым
Если найдено несколько значений S, в ответе запишите наименьшее из них.
Приведём решение на языке Python.
def Win(n, m):
return 0 if m <= 21 else any([Lose(n-1, m-3), Lose(n-1, m-7), Lose(n-1, m//4)])
def Lose(n, m):
return 1 if m <= 21 else 0 if not n else\
all([Win(n-1, m-3), Win(n-1, m-7), Win(n-1, m//4)])
print('21)', min(m for m in range(22, 100) if not Lose(2, m) and Lose(4, m)))
Ответ: 94.

