,П.ва игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может:
-убрать из кучи 2 камня;
— убрать из кучи 7 камней;
-уменьшить количество камней в куче в 3 раза (количество камней, полученное при делении, округляется до меньшего).
Например, из кучи в 20 камней за один ход можно получить кучу из 18, 13 или 6 камней.
Игра завершается в тот момент, когда количество камней в куче становится не более 20 007.
Победителем считается игрок, сделавший последний ход, т.е. первым получивший в куче 20 007 камней или меньше.
В начальный момент в куче было S камней; S > 20 007.
Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника.
СтатГрад Вариант ИН2510501 14 апреля 2026 – задание №19-21
19. Укажите максимальное значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом.
Ответ:
20. Для игры, описанной в задании 19, найдите два наименьших значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
– Петя не может выиграть за один ход;
– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания.
Ответ:
21. Для игры, описанной в задании 19, найдите наименьшее значение S, при котором одновременно выполняются два условия:
– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Ответ:
Решение на Python
Решение —
|
1 2 3 4 5 6 7 8 9 10 |
def f(s,m): if s <= 20_007: return m%2==0 if m ==0: return 0 h = [f(s-2,m-1),f(s-7,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(20_008,100_000) if f(s,2)]) print('20)', [s for s in range(20_008,100_000) if not f(s,1) and f(s,3)]) print('21)', [s for s in range(20_008,100_000) if not f(s,2) and f(s,4)]) |
19) [60024, 60025]
20) [60026, 60027, 60031, 60032]
21) [60028, 60029, 60033, 60034]
