Introdução
O sistema tipográfico LaTeX usa macros para definir acentos. Por exemplo, a letra ê é produzida por \hat{e}
. Nesse desafio, sua tarefa é implementar uma versão ASCII dessa funcionalidade.
Entrada
Sua entrada é uma sequência não vazia de caracteres ASCII imprimíveis. Não conterá novas linhas.
Resultado
Sua saída é uma sequência que consiste em duas linhas. A primeira linha contém acentos e a segunda linha os caracteres aos quais eles pertencem. É obtido da entrada da seguinte forma ( A
denota um caractere arbitrário):
- Cada
\bar{A}
é substituído porA
com_
em cima dela. - Cada
\dot{A}
é substituído porA
com.
em cima dela. - Cada
\hat{A}
é substituído porA
com^
em cima dela. - Para um bônus -10%: todos
\tilde{A}
é substituído porA
com~
em cima dela. - Todos os outros caracteres têm um espaço acima deles.
Por exemplo, a entrada
Je suis pr\hat{e}t.
resulta na saída
^
Je suis pret.
Regras e pontuação
Você pode assumir que os personagens \{}
só ocorrem nas macros \bar{}
, \dot{}
e \hat{}
(e \tilde{}
se você ir para o bônus). Todos os argumentos de macro têm exatamente um caractere, portanto, \dot{foo}
e \dot{}
não ocorrerão na entrada. A saída pode ser uma cadeia separada por nova linha ou uma lista / par de duas cadeias. Qualquer quantidade de espaço em branco à direita e anterior é permitida, desde que os acentos estejam nos lugares corretos. Em particular, se não houver acentos, a saída pode ser uma única sequência.
Você pode escrever um programa completo ou uma função. A menor contagem de bytes (após bônus) vence e as brechas padrão são proibidas.
Casos de teste
Sem bônus:
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
Com bônus:
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}
uma entrada válida?