← К задачамОткрыть курс →
Задание 21: количество проигрышных позиций
Игра «Куча камней»: в куче лежит некоторое количество камней. Игроки ходят по очереди,
первым ходит Петя. За один ход игрок добавляет в кучу одно из чисел камней, разрешённых
списком moves (например [1, 2] — добавить 1 или 2 камня). Выигрывает игрок, после чьего
хода в куче становится S или больше камней (S — заданный порог).
Напишите функцию losing_positions(S, moves), возвращающую отсортированный список ВСЕХ
значений s0 из отрезка [0, S-1], из которых игрок, делающий ход, ПРОИГРЫВАЕТ при
оптимальной игре соперника (то есть какой бы ход он ни сделал, соперник получает
выигрышную позицию).
Пример: losing_positions(7, [1, 2]) → [1, 4].
📖 Теория по теме:Задание 21: кто выигрывает и дерево всех партий
Курс по теме
Пройдите курс «Python с нуля» — по шагам, с проверкой
8 уроков · ~14 ч · теория, упражнения и экзамен с бейджем
def losing_positions(S, moves):
# ваш код
pass
Здесь появится результат. Напиши решение слева и нажми «Проверить код».
Для запуска тестов необходима авторизация.