Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в меньшую кучу один камень, добавить два камня или увеличить количество камней в куче в два раза. Изменять количество камней в большей куче не разрешается. Пусть, например, в начале игры в первой куче
Игра завершается, когда общее количество камней в двух кучах становится
В начальный момент в первой куче было
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.
Укажите минимальное из таких
Такая ситуация возможна при S = 43. При этом в одной из куч
Ответ: 43.
Приведём решение Михаила Глинского на языке Python.
def F(x,y,n):
if (n==2 ) and x+y>=61: return 1
if n==2 and x+y<61: return 0
if (n<2 ) and x+y>=61: return 0
else:
if n%2==1:
if x>y:
return F(x,y+1,n+1) or F(x,y+2,n+1) or F(x,y*2,n+1)
else:
return F(x+1,y,n+1) or F(x+2,y,n+1) or F(x*2,y,n+1)
if n%2==0:
if x>y:
return F(x,y+1,n+1) and F(x,y+2,n+1) and F(x,y*2,n+1)
else:
return F(x+1,y,n+1) and F(x+2,y,n+1) and F(x*2,y,n+1)
for s in range(1,53):
if F(8,s,0):
print(s)
break

