Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может:
— убрать из кучи 3 камня;
— убрать из кучи 6 камней;
— уменьшить количество камней в куче в 3 раза (количество камней, полученное при делении, округляется до меньшего).
Например, из кучи в 20 камней за один ход можно получить кучу из 17, 14 или 6 камней.
Игра завершается, когда количество камней в куче становится не более 27. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу из 27 или менее камней. В начальный момент в куче было S камней, S ≥28.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.
Резервный день 19.06.2025 ЕГЭ по информатике – задание №19-21
19. Укажите минимальное значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом.
Ответ:
20. Для игры, описанной в задании 19, найдите два наименьших значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
— Петя не может выиграть за один ход;
— Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания.
Ответ:
21. Для игры, описанной в задании 19, найдите минимальное значение S, при котором одновременно выполняются два условия:
— у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
— у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Ответ:
Решение на Python
Решение —
|
1 2 3 4 5 6 7 8 |
def f(s,m): if s <= 27: return m%2==0 if m==0: return 0 h = [f(s-3,m-1), f(s-6,m-1), f(s//3,m-1)] return any(h) if (m-1)%2==0 else all(h) print('19)' , [s for s in range(28,1000) if f(s, 2) ]) print('20)' , [s for s in range(28,1000) if not f(s, 1) and f(s, 3)]) print('21)' , [s for s in range(28,1000) if not f(s, 2) and f(s, 4)]) |
19) [84, 85, 86]
20) [87, 88, 89, 90, 91, 92, 252, 253, 254, 255, 256, 257, 258, 259, 260]
21) [93, 94, 95, 261, 262, 263]
