← К задачамОткрыть курс →
Задание 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 и более.
📖 Теория по теме:Задание 19: первый шаг анализа игры
Курс по теме
Пройдите курс «Python с нуля» — по шагам, с проверкой
8 уроков · ~14 ч · теория, упражнения и экзамен с бейджем
def count_immediate_win_positions(S, moves, s_max):
# ваш код
pass
Здесь появится результат. Напиши решение слева и нажми «Проверить код».
Для запуска тестов необходима авторизация.