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

printЗадачи

1569. Китайская грамота

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

Многие языки (китайский, японский и даже русский) содержат большое число букв в алфавите, для которых нет прямых соответствий в латинском алфавите. При передаче электронных писем может быть потеряна или искажена любая информация с кодами вне диапазона 32-127 (пробел, цифры, латинский алфавит, пунктуация, а также символы CR и LF). Тексты, содержащие другие символы, должны кодироваться (UUencode, BASE64 или др. способом) при передаче и декодироваться при получении. Для облегчения работы с короткими текстами, а также при работе с компьютерами, на которых не установлены необходимые шрифты, можно использовать мнемоническую кодировку, заменяя буквы или сочетания букв похожими по произношению сочетаниями латинских букв. Для человека процесс кодирования-декодирования достаточно легок.
Требуется написать программу, декодирующую текст письма, чтобы его можно было распечатать или вставить в документ.
Входной файл содержит в первой строке число `N` (`1\ ≤\ N\ ≤\ 250`)  – количество кодов, далее следует `N` строк вида: исх.код пробел рез.код, например, я ya. Исходный код и результирующий код содержат от 1 до 4 символов без пробелов. Для результирующего кода используются только буквы латинского алфавита a-z, регистр не имеет значения. Далее идет текст письма: от 1 до 10 строк не более 80 символов в строке.
Выходной файл должен содержать декодированный текст письма. Все знаки препинания (символы, не являющиеся буквами A-Za-z) должны сохраниться. Если слово можно интерпретировать разными способами, выбирается интерпретация, содержащая наименьшее количество кодов. Например: пусть заданы коды {бу bu, р r, я ya, й y, а а}, тогда текст burya можно интерпретировать как буря (3 кода) и бурйа (4 кода). Выбирается первая интерпретация. Если две интерпретации имеют одинаковое число кодов, то выбирается комбинация, коды которой стоят раньше в списке кодов.

Пример ввода

8
м m
a a
ы iq
л L
р r
у u
я ya
й y
Mama miqla ramu. Lara riqla yamu.

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

мама мыла раму. лара рыла яму.
loading