← К задачам
Задание 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
Для запуска тестов необходима авторизация.