Задача #2231

Задания 19–21

Сложнее ЕГЭ

Общее условие для 19–21

(Е.Джобс) Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может убрать из кучи 10 камней или уменьшить количество камней в 2 раза. При нечетном количестве камней в результате второго хода из кучи убирается на один камень больше, чем остается.

Например, из кучи из 21 камня можно получить кучу из 11 камней или кучу из 10 камней.

Игра завершается в тот момент, когда количество камней становится меньше 20.

Игрок, первым получивший кучу, удовлетворяющую условию окончания игры, считается проигравшим.

В начальный момент в куче было S камней; S > 30.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.

Вопрос для задания 19

Укажите максимальное значение S, при котором Ваня не может гарантировано выиграть после первого хода Пети, однако имеет выигрышную стратегию, в которой Петя сходил ровно два раза.

Ответ
Войдите, чтобы история ответов и статистика сохранялись.
Решение Нажми, чтобы открыть

Ответ

69

Видео по связке

Общий разбор связки

def g(x, m):
if x < 20:
return m == 0
if m == 0:
return False
h = [g(x-10, m-1), g(x//2, m-1)]
return all(h) if m % 2 != 0 else any(h)

print(min(x for x in range(30, 200) if not g(x, 1) and g(x, 3)))
ans20 = [x for x in range(30, 200) if not g(x, 2) and g(x, 4)]
print(ans20[0], ans20[-1])
print(min(x for x in range(30, 200) if not g(x, 1) and not g(x, 3) and g(x, 5)))

Полный разбор

Решение для задания 19

Быстрый переход
Перейти к задаче