Игроки ходят по очереди, первый ход делает Петя. За один ходигрок
Условие
Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежиткуча камней. Игроки ходят по очереди, первый ход делает Петя. За один ходигрок может:— убрать из кучи 3 камня,— убрать из кучи 5 камней,— уменьшить количество камней в куче в 4 раза (количество камней, полученное при делении, округляется до меньшего).Например, из кучи в 20 камней за один ход можно получить кучу из 17, 15 или 5 камней.
Игра завершается в тот момент, когда количество камней в куче становится не более 1207.Победителем считается игрок, сделавший последний ход, т. е. первым получивший в куче 1207 камней или меньше.В начальный момент в куче было S камней; S > 1207.Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.
Укажите минимальное значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом.
Ответ
Ответ и полный разбор откроются после входа
Посмотреть ответРешение по шагам
Как рассуждать
Решение. Приведём решение на языке Python.def Win(n, m): return 0 if m <= 1207 else any([Lose(n-1, m-3), Lose(n-1, m-5), Lose(n-1, m//4)])def Lose(n, m): return 1 if m <= 1207 else 0 if not n else\ all([Win(n-1, m-3), Win(n-1, m-5), Win(n-1, m//4)])print('19)', min(m for m in range(1208,
Осталось ещё 1 шаг
if not Win(1, m) and Lose(2, m)))…
Бесплатно · займёт минуту