printРабочее место участника

printЗадачи

1905. Исправление HTML

Ограничения: время – 1s/2s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

При создании веб-страницы в формате HTML необходимо соблюдать следующие правила:
  • Для каждого открывающего тега в тексте должен быть соответствующий закрывающий тег и наоборот.
  • Элементы текста, выделенные соответствующими открывающими и закрывающими тегами, могут вложенными друг в друга, и вложенный элемент должен заканчиваться внутри того же элемента, где он начинался. Иными словами, порядок следования закрывающих тегов должен быть обратным тому, в котором следуют теги открывающие.
  • Не допускается двойная (и более) вложенность элементов с тегами <b>, <i>, <u>, так как текст не может быть сделан в два раза жирнее, курсивнее или подчеркнутее.
Так как человек может легко ошибиться при вводе HTML-текста без использования специальных редакторов, то необходимо проверять введенный человеком текст и исправлять найденные ошибки.
Напишите программу, которая исправляет одну строку некоторого текста, записанного в формате HTML с использованием только тегов <b>, </b>, <i>, </i>, <u> и </u>, добавляя теги, чтобы он соответствовал указанным выше правилам. Удалять теги, уже заданные в строке, нельзя. Получившая строка должна иметь наименьшую длину. Если есть несколько вариантов, то нужно выбрать лексикографически наименьшую строку в алфавите, имеющем следующий порядок символов:
<b> < <i> < <u> < a < b < … < z < </b> < </i> < </u>
где открывающие и закрывающие теги рассматриваются как символы.
Формат ввода
Ввод содержит одну строку длиной от 1 до 1000 символов, состоящую из строчных латинских букв и тегов <b>, <i>, <u>, </b>, </i>, </u>.
Формат вывода
Вывести скорректированную строку, соответствующую правилам.

Пример ввода 1

<b>aaa<i>bbb</b>ccc</i>ddd

Вывод для примера 1

<b>aaa<i>bbb</i></b><i>ccc</i>ddd

Пример ввода 2

<i><b>ooo<b>ppp</b>qqq</b></u>

Вывод для примера 2

<i><b>ooo</b><b>ppp</b><b>qqq</b><u></u></i>
loading