Задача #2232

Задания 19–21

Сложнее ЕГЭ

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

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

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

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

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

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

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

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

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

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

Ответ

70
139

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

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

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)))

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

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

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