Задание №6095.
Поиск выигрышной стратегии игры. ЕГЭ по информатике
Для игры, описанной в задании 19, найдите два таких
минимальных значения
S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:
− Петя не может выиграть за один ход;
− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.
Найденные значения запишите в ответе в порядке возрастания.
Пояснение:
Решим задание, написав программу на языке программирования Python. Ищем такие
S, при которых Петя не может выиграть сразу, но на втором своём ходе гарантированно выигрывает. Для этого проверяется: что бы ни сделал Ваня, он не может сам сразу выиграть, а Петя после любого ответа Вани всегда имеет ход, дающий ≥67. В результате остаются только значения, где стратегия Пети «выиграть вторым ходом» работает против любых ходов Вани.
TARGET = 67 moves = lambda s: (s+1, s+4, s*3)
def can_win_immediately(s): return any(m>=TARGET for m in moves(s))
ans = [] for S in range(1, TARGET): if can_win_immediately(S): continue for S1 in moves(S): if S1>=TARGET: continue # требуется: для любого хода Вани от S1 Петя на своём втором ходу может сразу сделать >=TARGET, # и при этом Ваня не должен иметь хода от S1, который сам сразу выигрывает (иначе Петя не гарантирует победу "независимо от хода Вани") ok = True for V in moves(S1): if V>=TARGET: ok = False; break if not any(m>=TARGET for m in moves(V)): ok = False; break if ok: ans.append(S); break
print(ans) |
Таким образом,
18 и
21 — два наименьших значения
S, при которых у Пети есть выигрышная стратегия.
Показать ответ
18 21
Источник: Открытый вариант — 2025
Сообщить об ошибке
Тест с похожими заданиями