Ctrl K

Счастливый билет с пропусками

Средняя
Алиса и Боб заполняют номер билета ticket чётной длины. В нём есть цифры и знаки ? — пропуски. Ходят по очереди, начинает Алиса: за ход игрок выбирает любой оставшийся ? и вписывает вместо него цифру от 0 до 9. Когда пропусков не остаётся, игра заканчивается. Если сумма цифр первой половины билета равна сумме цифр второй, билет «счастливый» и побеждает Боб. Иначе побеждает Алиса. Если пропусков нет с самого начала, победитель определяется сразу. Оба играют наилучшим образом. Верните True, если побеждает Алиса, и False, если Боб.
Пример 1
ticket="18?9" → True

Пропуск один, и он достаётся Алисе. Справа сейчас 9 и пропуск, слева 1 + 8 = 9: Алиса ставит любую цифру, кроме 0, и суммы расходятся.

Пример 2
ticket="??09" → False

Оба пропуска слева, справа 0 + 9 = 9. Какую бы цифру d ни вписала Алиса, Боб ставит 9 - d во второй пропуск, и слева тоже выходит 9.

Пример 3
ticket="4422" → True
Ограничения
  • 2 ≤ len(ticket) ≤ 10⁵
  • len(ticket) чётна
  • ticket состоит из цифр и символов ?
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДуэль за зажатые фишки СредняяСловесная дуэль СложнаяОкруглить цены до нужной суммы СредняяОбмены букв x и y СредняяСредний мешок Средняя
загружаем Python…
Вход
ticket="18?9"
Ожидается
True

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