Вступление
Система набора текста LaTeX использует макросы для определения ударений. Например, буква is производится \hat{e}
. В этой задаче ваша задача заключается в реализации ASCII-версии этой функциональности.
вход
Ваш ввод - непустая строка печатных символов ASCII. Он не будет содержать переводы строк.
Выход
Ваш вывод представляет собой строку, состоящую из двух строк. Первая строка содержит акценты, а вторая - символы, которым они принадлежат. Он получается из ввода следующим образом ( A
обозначает произвольный символ):
- Каждый
\bar{A}
заменяетсяA
с_
поверх него. - Каждый
\dot{A}
заменяетсяA
с.
поверх него. - Каждый
\hat{A}
заменяетсяA
с^
поверх него. - Для -10% бонуса: каждый
\tilde{A}
заменяютсяA
с~
поверх него. - Все остальные символы имеют пробел над ними.
Например, вход
Je suis pr\hat{e}t.
результаты в выводе
^
Je suis pret.
Правила и оценки
Можно предположить, что символы \{}
встречаются только в макросах \bar{}
, \dot{}
и \hat{}
(и \tilde{}
если вы идете за бонусом). Все макро аргументы точный длинный один символ, так \dot{foo}
и \dot{}
не будет происходить на входе. Выходными данными может быть строка, разделенная новой строкой, или список / пара из двух строк. Допускается любое количество пробелов и предшествующих пробелов, если акценты находятся в правильных местах. В частности, если нет акцентов, вывод может быть одной строкой.
Вы можете написать полную программу или функцию. Наименьшее количество байтов (после бонусов) выигрывает, и стандартные лазейки запрещены.
Контрольные примеры
Без бонуса:
Input:
No accents.
Output:
No accents.
Input:
Ch\hat{a}teau
Output:
^
Chateau
Input:
Som\bar{e} \dot{a}cc\hat{e}nts.
Output:
_ . ^
Some accents.
Input:
dot hat\dot{h}a\hat{t}\hat{ }x\bar{x}dot
Output:
. ^^ _
dot hathat xxdot
Input:
\hat{g}Hmi\hat{|}Su5Y(\dot{G}"\bar{$}id4\hat{j}gB\dot{n}#6AX'c\dot{[}\hat{)} 6\hat{[}T~_sR\hat{&}CEB
Output:
^ ^ . _ ^ . .^ ^ ^
gHmi|Su5Y(G"$id4jgBn#6AX'c[) 6[T~_sR&CEB
С бонусом:
Input:
Ma\tilde{n}ana
Output:
~
Manana
Input:
\dot{L}Vz\dot{[}|M.\bar{#}0\hat{u}U^y!"\tilde{I} K.\bar{"}\hat{m}dT\tilde{$}F\bar{;}59$,/5\bar{'}K\tilde{v}R \tilde{E}X`
Output:
. . _ ^ ~ _^ ~ _ _ ~ ~
LVz[|M.#0uU^y!"I K."mdT$F;59$,/5'KvR EX`
\bar{foo}
это правильный вход?