Задача #1499

Задания 19–21

Уровень ЕГЭ

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

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

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

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

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

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

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

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

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

Ответ

50
141

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

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

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

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

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