← К задачам
Легко · +1ЕГЭ задание 19Теория игр

Задание 19: сколько позиций выигрывают одним ходом

Игра «Куча камней»: в куче лежит некоторое количество камней. Игроки ходят по очереди, первым ходит Петя. За один ход игрок добавляет в кучу одно из чисел камней, разрешённых списком moves (например [1, 2] — добавить 1 или 2 камня). Выигрывает игрок, после чьего хода в куче становится S или больше камней (S — заданный порог).

Напишите функцию count_immediate_win_positions(S, moves, s_max), возвращающую количество значений s0 из отрезка [0, s_max], из которых игрок, делающий ход, выигрывает СРАЗУ этим ходом (см. предыдущую задачу — но теперь нужно посчитать все такие s0).

Пример: count_immediate_win_positions(7, [1, 2], 10) — считаем все s0 от 0 до 10, из которых можно одним ходом довести кучу до 7 и более.

def count_immediate_win_positions(S, moves, s_max):
    # ваш код
    pass
Для запуска тестов необходима авторизация.