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