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

printЗадачи

2219. Вики-разметка

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

Для ввода информации на сайте Тим использует упрощенный вариант вики-разметки, в котором тегами служат пары символов (см. таблицу). При первом (нечетном) появлении тег означает включение режима, а при втором (четном) — выключение. В вики-разметке не требуется корректность вложенности тегов и отсутствует необходимость в каких-либо закрывающих тегах — при переводе в HTML все незакрытые режимы в конце абзаца текста нужно автоматически закрыть. В HTML-разметке для включения и выключения режима используются разные теги, отличающиеся символом /, кроме того должна соблюдаться вложенность тегов (пары из открывающего и закрывающего тега HTML являются разновидностью скобок).
Тег вики-разметкиЗначениеТеги HTML-разметки
**Жирный шрифт<b> </b>
//Курсив<i> </i>
--Вычеркнутый<s> </s>
__Подчеркнутый<u> </u>
Напишите программу, которая для каждого абзаца текста с вики-разметкой формирует строку с HTML-разметкой. При формировании строки нельзя выводить пару из открывающего и закрывающего HTML-тегов, если между ними пустая строка (см. пример).
Формат ввода
Ввод содержит не более 10 непустых строк. Каждая строка содержит один абзац текста с вики-разметкой длиной от 1 до 1000 символов. Строки могут содержать только прописные латинские буквы и символы '*', '/', '-', '_'. Парные символы интерпретируются как теги вики-разметки, символы без пары – как обычные символы.
Формат вывода
Для каждой строки из входного файла вывести строку с соответствующей HTML-разметкой. Строка должна быть заключена в теги <p></p>, даже если она пустая. Можно вывести любой вариант строки, строка может не иметь минимальную длину, но она должна быть корректной с точки зрения вложенности тегов, в ней не должно быть избыточных пар тегов вида <x></x> или </x><x> и она должна соответствовать входной строке.

Пример ввода

AA**BB//CC**DD
----__***__A__B

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

<p>AA<b>BB<i>CC</i></b><i>DD</i></p>
<p><b><u>*</u>A<u>B</u></b></p>
loading