Ctrl K

Дуэль квадратами

Сложная
В кучке pebbles камешков. Двое ходят по очереди. За ход игрок убирает из кучки количество камешков, равное ненулевому точному квадрату: 1, 4, 9, 16 и так далее (но не больше, чем осталось). Кто не может сделать ход, проигрывает. Оба играют оптимально. Верните True, если выигрывает тот, кто ходит первым, и False иначе.
Пример 1
pebbles=7 → False

Можно взять 1 или 4 камешка, оставив 6 или 3. Из 6 соперник возьмёт 1 и оставит 5, из 3 — возьмёт 1 и оставит 2; обе позиции проигрышные для того, кто ходит. Первый игрок проигрывает.

Пример 2
pebbles=6 → True

Возьмите 1 камешек: из 5 соперник может оставить только 4 или 1, и вы забираете всё.

Пример 3
pebbles=9 → True

9 — квадрат, так что первый игрок забирает все камешки сразу.

Ограничения
  • 1 ≤ pebbles ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиВор и охранник СложнаяБери до трёх карт СложнаяОстаётся лёгкая половина СложнаяМышь, кот и сыр СложнаяСлияние плиток спереди Сложная
загружаем Python…
Вход
pebbles=7
Ожидается
False

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 27 тестов на сервере, включая скрытые.