Ctrl K

Роботы в узком коридоре

Средняя
Коридор шириной в одну клетку записан строкой из символов 'L', 'R' и 'X': 'X' — свободная клетка, 'L' — робот, который умеет ехать только влево, 'R' — робот, который умеет ехать только вправо. За один ход какой-нибудь робот сдвигается на одну клетку в свою сторону, если эта клетка свободна. Иначе говоря, фрагмент "XL" можно заменить на "LX", а фрагмент "RX" — на "XR". Даны строки before и after одной длины. Верните True, если из before можно получить after последовательностью таких ходов (возможно, пустой), и False иначе.
Пример 1
before="RXXL", after="XRLX" → True

Робот R сдвигается на одну клетку вправо, робот L — на одну влево: RXXL → XRXL → XRLX.

Пример 2
before="XLR", after="LXR" → True

L уезжает влево на свободную клетку, R остаётся на месте.

Пример 3
before="RL", after="LR" → False

Роботы не могут проехать друг сквозь друга, поэтому поменяться местами им не удастся.

Ограничения
  • 1 ≤ len(before) ≤ 10⁴
  • len(before) == len(after)
  • Обе строки состоят только из символов 'L', 'R' и 'X'
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый длинный зеркальный кусок СредняяСлова в обратном порядке СредняяРовно одна правка СредняяКакая версия новее СредняяОбратный порядок слов на месте Средняя
загружаем Python…
Вход
before="RXXL", after="XRLX"
Ожидается
True

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