eolymp
bolt
Try our new interface for solving problems
Məsələlər

TEX 2 Unicode

TEX 2 Unicode

Во многих современных приложениях используется двухбайтовая таблица символов \textbf{Unicode}. В отличии от однобайтовой \textbf{ASCII}, в \textbf{Unicode} на один символ приходится не один, а два байта. Благодаря этому, в \textbf{Unicode} могут быть представлены не \textbf{256}, а \textbf{65536} различных символов, что позволяет без пересечений включить в таблицу символы различных алфавитов. Однако большинство систем обработки текстов по историческим причинам используют \textbf{ASCII}, при этом возникают проблемы с символами национальных алфавитов: в различных кодировках символы с одним и тем же кодом \textbf{ASCII }отвечают различным сиволам. Чтобы обойти эту проблему, разработчики различных систем обработки текстов вводят различные кодовые последовательности для обозначения символов национальных алфавитов. В этой задаче вам предлагается осуществить перевод текста, написанного для системы \textbf{T_EX}, в \textbf{Unicode}. Сразу отметим, что модель, предлагаемая в данной задаче упрощенная и не вполне соответствует действительности. В \textbf{T_EX}-е для включения в текст символа национального алфавита используется команда \textbf{\textbackslash IeC}. Каждому символу национального алфавита ставится в соответстие некоторая последовательность латинских букв, например русской букве "\textbf{п}" ставится в соотвтствие последовательность \textbf{\textbackslash cyrp}, и эта последовательность записывается в фигурных скобках после команды \textbf{\textbackslash IeC}. Так, чтобы включить в текст букву "\textbf{п}" надо написать \textbf{\textbackslash IeC\{\textbackslash cyrp\}}. Пробелы в кодовой последовательности не разрешаются. Дан текст, оформленный в стиле \textbf{T_EX}-а. Выведите в выходной файл последовательность \textbf{Unicode}-кодов символов текста. При этом все известные включения символов национальных алфавитов следует преобразовать в соответствующий \textbf{Unicode}-символ. Остальные символы, а также последовательности, отвечающие неизвестным символам, следует вывести неизменными (при переходе от \textbf{ASCII} к \textbf{Unicode} старший байт двухбайтового символа становится равным \textbf{0}). Некоторые кодовые последовательности могут быть неправильными (например, содержать пробелы или иным способом не удовлетворять формату). Их тоже следует вывести неизменными. \InputFile Первая строка содержит число \textbf{N} -- количество известных символов национальных алфавитов (\textbf{1} ≤ \textbf{N} ≤ \textbf{100}). Следующие \textbf{N} строк содержат кодовые последовательности этих символов и соответствующие коды символов \textbf{Unicode }(которые задаются как \textbf{2}-байтовое число в \textbf{16}-ричной системе счисления, записаны \textbf{4} символа), разделенные одним пробелом. Все кодовые последовательности начинаются с символа "\textbf{\textbackslash }", за которым следует не более \textbf{10} латинских букв. После кодовых последовательностей следует текст, который следует обработать. Игнорируйте переводы строк (но не в кодовых последовательностях). \OutputFile Выведите в выходной файл последовательность \textbf{Unicode}-кодов символов, которые будут составлять преобразованный файл. Каждый код должен представлять собой \textbf{16}-ричное число, дополненное при необходимости ведущими нулями до \textbf{4} символов. Числа должны быть разделены пробелами и/или переводами строки.
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
1
\abcdefghij 0000
\IEC{\abcdefghij}
Çıxış verilənləri #1
005C
0049
0045
0043
007B
005C
0061
0062
0063
0064
0065
0066
0067
0068
0069
006A
007D