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

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

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

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

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

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

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

def game(s1, s2, move_counter):
    if move_counter == 2 and s1 + s2 >= 231: return 0
    elif move_counter == 3 and s1 + s2 >= 231: return 0
    elif move_counter == 4 and s1 + s2 >= 231: return 1
    elif move_counter == 4 and s1 + s2 < 231: return 0
    else:
        if move_counter % 2 != 0:
            return game(s1 + 1, s2, move_counter + 1) or game(s1 * 2, s2, move_counter + 1) or game(s1, s2 + 1, move_counter + 1) or game(s1, s2 * 2, move_counter + 1)
        else:
            return game(s1 + 1, s2, move_counter + 1) and game(s1 * 2, s2, move_counter + 1) and game(s1, s2 + 1, move_counter + 1) and game(s1, s2 * 2, move_counter + 1)

final = []
for s2 in range(1,214):
    if game(17, s2, 1) == 1:
        final.append(s2)
final = sorted(final)
print(final[0], final[1])

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

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

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


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