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

Задание №4524.
Поиск выигрышной стратегии игры. ЕГЭ по информатике

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

– Петя не может выиграть за один ход;

– Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Найденные значения запишите в ответе в порядке возрастания.

Пояснение:
Решим задание, написав программу на языке программирования Python.

TARGET = 443
moves = lambda s: (s+1, s+3, s*2)

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)

Таким образом, 218 и 220 — два минимальных значения S, при которых у Пети есть выигрышная стратегия при заданных условиях.

Показать ответ

Источник: ФИПИ. Открытый банк тестовых заданий
Сообщить об ошибке


Тест с похожими заданиями