В игре, описанной
Укажите минимальное и максимальное из таких
Ответ:
Рассмотрим значение S = 22. Своим первым ходом Петя может получить позиции (22, 22), (11, 23), (11, 24) и (11, 25). К победе Петю приводит
Второе значение S — 35. Своим первым ходом Петя может получить позиции (22, 35), (11, 36), (11, 37) и (13, 38). К победе Петю приводит
Приведем решение на языке Python.
def Win(ma, mi, k):
ma, mi = max(ma, mi), min(ma, mi)
return 0 if ma >= 40 or mi >= 40 else any([Lose(ma+i,mi,k-1) for i in range(1,4)] + [Lose(ma,mi*2,k-1)] if ma!=mi\
else [Lose(ma+i,mi,k-1) for i in range(1,4)])
def Lose(ma, mi, k):
ma, mi = max(ma, mi), min(ma, mi)
return 1 if ma >= 40 or mi >= 40 else 0 if not k else\
all([Win(ma+i,mi,k-1) for i in range(1,4)] + [Win(ma,mi*2,k-1)] if ma!=mi else [Win(ma+i,mi,k-1) for i in range(1,4)])
t = [s for s in range(1,40) if not Win(11, s, 1) and Win(11, s, 3)]; print('Задание 20:', min(t), max(t))
Ответ: 22 35.

