Задача к ЕГЭ по информатике на тему «Теория игр» №6

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

– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

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

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

from functools import lru_cache


def moves(h):
    a, b = h
    return (a*5, b), (a, b*5), (a+1, b), (a, b+1)


def pr(h):
    a, b = h
    return a*b


@lru_cache(None)
def f(h):
    if pr(h) >= 1250:
        return ’END’
    if any(f(x) == ’END’ for x in moves(h)):
        return ’WIN1’
    if all(f(x) == ’WIN1’ for x in moves(h)):
        return ’LOSE1’
    if any(f(x) == ’LOSE1’ for x in moves(h)):
        return ’WIN2’
    if all(f(x) == ’WIN1’ or f(x) == ’WIN2’ for x in moves(h)):
        return ’LOSE2’


for i in range(1, 312):
    h = 4, i
    if f(h) == ’LOSE2’:
        print(i, end=’’)


Ответ: 4860
Оцените статью
Я решу все!