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

Укажите два таких значения S  , при которых у Амины есть выигрышная стратегия, позволяющая ей выиграть первым или вторым ходом при любой игре Ани, и при этом у Амины нет стратегии, которая позволит ей гарантированно выиграть первым ходом.

В ответе запишите числа в порядке возрастания без пробелов и знаков препинания.

Так как нас интересуют только единички, то очевидно, что при копировании числа у нас единичек становится в 3 раза больше. А при приписывании числа вида 22n−1  получаем приписывание 1 единички.

from functools import lru_cache


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


@lru_cache(None)
def f(h):
    if (sum(h) >= 100):
        return ’END’
    if any(f(x) == ’END’ for x in moves(h)):
        return ’P1’
    if all(f(x) == ’P1’ for x in moves(h)):
        return ’V1’
    if any(f(x) == ’V1’ for x in moves(h)):
        return ’P2’
    if all(f(x) == ’P1’ or f(x) == ’P2’ for x in moves(h)):
        return ’V2’


for s in range(1, 92):
    h = 7, s
    if f(h) == ’V2’:
        print(s, end=’’)

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