Задача #4368

Задания 19–21

Уровень ЕГЭ

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

(А. Шуруха) Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может:
— переложить 3 камня из первой кучи во вторую (общее количество камней при этом не меняется);
— добавить в первую кучу 2 камня.
Например, пусть в первой куче 40 камней, а во второй 10 камней; такую позицию в игре обозначим (40, 10). Тогда за один ход можно получить любую из двух позиций: (37, 13), (42, 10). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.
Игра завершается в тот момент, когда произведение количеств камней в двух кучах становится не менее 600. Победителем считается игрок, сделавший последний ход, то есть первым получивший такую позицию, при которой произведение количеств камней в кучах равно 600 или больше. В начальный момент в первой куче было 40 камней, во второй куче — S камней; 1 ≤ S ≤ 14. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.

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

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

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

Ответ

10

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

def moves(a, b):
return [(a - 3, b + 3), (a + 2, b)]
def f(a, b, m):
if a * b >= 600: return m % 2 == 0
if m == 0: return False
h = [f(x, y, m - 1) for x, y in moves(a, b)]
return any(h) if m % 2 else all(h)

a19 = [s for s in range(1, 15) if f(40, s, 2)]
a20 = [s for s in range(1, 15) if f(40, s, 3) and not f(40, s, 1)]
a21 = [s for s in range(1, 15) if f(40, s, 4) and not f(40, s, 2)]
print('19', min(a19))
print('20', *a20[:2])
print('21', min(a21))

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

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