Олимпиадный тренинг

Задача . A. Отельер


Амуга владеет отелем, представимым в виде длинного коридора с \(10\) комнатами, идущими подряд. Комнаты пронумерованы цифрами от \(0\) до \(9\) слева направо.

В отель есть два входа: с левого конца коридора и с правого. Если гость заходит с левого конца коридора, то он будет расположен в ближайшей к левому входу свободной комнате. Аналогично, если гость заходит с правого конца коридора, то ему будет назначена ближайшая к правому входу свободная комната.

Однажды Амуга потерял документ с указанием статуса занятости комнат. К счастью, у него безупречная память, и он помнит всё о своих гостях: когда гость пришёл в отель, с какой стороны он вошёл, и когда он покинул отель. Изначально все комнаты в отеле были свободными. Напишите программу, которая восстановит статус занятости комнат по событиям из памяти Амуга.

Входные данные

Первая строка содержит одно целое число \(n\) (\(1 \le n \le 10^5\)) — количество событий в памяти Амуга.

Вторая строка содержит строку длины \(n\), описывающую события, которые помнит Амуга, заданные в хронологическом порядке. Символы заданной строки могут быть следующими:

  • «L»: новый гость зашёл в отель с левого конца коридора.
  • «R»: новый гость зашёл в отель с правого конца коридора.
  • «0», «1», ..., «9»: гость из комнаты \(x\) (\(0\), \(1\), ..., \(9\) соответственно) покинул отель.

Гарантируется, что в отеле имеется хотя бы одна свободная комната, когда появляется новый гость. Также гарантируется, что, если задано \(x\) (\(0\), \(1\), ..., \(9\)), то в комнате \(x\) находится гость. В начальный момент времени все комнаты свободны.

Выходные данные

В единственной строке выведите статус занятости комнат, начиная с комнаты \(0\) и заканчивая комнатой \(9\). Свободную комнату обозначайте как «0», а занятую — как «1». Символы выводите без пробелов.

Примечание

В первом примере статус занятости комнат после каждого из событий следующий:

  • Изначально все комнаты свободны. Статус занятости: 0000000000.
  • L: гость заходит в отель через вход слева. Статус занятости: 1000000000.
  • L: ещё один гость заходит через вход слева. Статус занятости: 1100000000.
  • R: ещё один гость заходит через вход справа. Статус занятости: 1100000001.
  • L: ещё один гость заходит через вход слева. Статус занятости: 1110000001.
  • 1: гость из комнаты \(1\) покидает отель. Статус занятости: 1010000001.
  • R: ещё один гость заходит через вход справа. Статус занятости: 1010000011.
  • L: ещё один гость заходит через вход слева. Статус занятости: 1110000011.
  • 1: гость из комнаты \(1\) покидает отель. Статус занятости: 1010000011.

Таким образом, финальный статус занятости комнат следующий: 1010000011.

Во втором примере статус занятости комнат после каждого из событий следующий:

  • L: гость заходит в отель через вход слева. Статус занятости: 1000000000.
  • 0: гость из комнаты \(0\) покидает отель. Статус занятости: 0000000000.
  • L: гость заходит в отель через вход слева. Статус занятости: 1000000000.
  • 0: гость из комнаты \(0\) покидает отель. Статус занятости: 0000000000.
  • L: гость заходит в отель через вход слева. Статус занятости: 1000000000.
  • L: ещё один гость заходит через вход слева. Статус занятости: 1100000000.
  • R: ещё один гость заходит через вход справа. Статус занятости: 1100000001.
  • R: oещё один гость заходит через вход справа. Статус занятости: 1100000011.
  • 9: гость из комнаты \(9\) покидает отель. Статус занятости: 1100000010.

Таким образом, финальный статус занятости комнат следующий: 1100000010.


Примеры
Входные данныеВыходные данные
1 8
LLRL1RL1
1010000011
2 9
L0L0LLRR9
1100000010

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя