Задача #1500

Задания 19–21

Уровень ЕГЭ

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

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

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

Победителем считается игрок, сделавший последний ход, т.е. первым получивший суммарно в кучах 464 или больше камней.

В начальный момент в первой куче было 13 камней, во второй – S камней; 1 ≤ S ≤ 450.

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

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

Для игры, описанной в задании 19, найдите минимальное значение S, при котором одновременно выполняются два условия:

у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

Если найдено несколько значений S, в ответе запишите наименьшее из них.

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

Ответ

139

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

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

def f(x, y, p):
if x + y >= 464: return p % 2 == 0
if p == 0: return 0
h = [f(x+2,y,p-1), f(x*3,y,p-1), f(y+2,x,p-1), f(y*3,x,p-1)]
return any(h) if p%2 else all(h)
print([s for s in range(1, 450) if f(13, s, 2)])
print([s for s in range(1, 450) if not f(13, s, 1) and f(13, s, 3)])
print([s for s in range(1, 450) if not f(13, s, 2) and f(13,s,4)])

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

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