Ctrl K

Только не кратно трём

Средняя
На столе лежат фишки, на i-й написано число tokens[i]. Двое игроков по очереди снимают со стола по одной фишке — любой на выбор, начинает первый. Все снятые фишки складываются в общую кучу. Игрок, после чьего хода сумма чисел в общей куче делится на 3, сразу проигрывает. Если же фишки закончились, а этого так и не случилось, побеждает второй игрок — даже если ход был бы за первым. Оба играют наилучшим образом. Верните True, если побеждает первый игрок, иначе False.
Пример 1
tokens=[4, 5] → True

Первый берёт любую фишку, второму остаётся другая, и сумма становится 9 — она делится на 3, поэтому второй проигрывает.

Пример 2
tokens=[7] → False

Первый берёт единственную фишку, сумма 7 на 3 не делится, но фишки кончились — значит, победил второй.

Пример 3
tokens=[3, 6, 1] → False
Ограничения
  • 1 ≤ len(tokens) ≤ 10⁵
  • 1 ≤ tokens[i] ≤ 10⁴
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСредний мешок СредняяОдни призы, разные вкусы СредняяСловесная дуэль СложнаяДуэль за крайние карты СредняяЗадания с перерывом на остывание Средняя
загружаем Python…
Вход
tokens=[4, 5]
Ожидается
True

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