Einführung
Das LaTeX-Schriftsatzsystem verwendet Makros zum Definieren von Akzenten. Zum Beispiel wird der Buchstabe ê von erzeugt \hat{e}
. Bei dieser Herausforderung besteht Ihre Aufgabe darin, eine ASCII-Version dieser Funktionalität zu implementieren.
Eingang
Ihre Eingabe ist eine nicht leere Zeichenfolge mit druckbaren ASCII-Zeichen. Es enthält keine Zeilenumbrüche.
Ausgabe
Ihre Ausgabe ist eine Zeichenfolge, die aus zwei Zeilen besteht. Die erste Zeile enthält Akzente und die zweite Zeile die Zeichen, zu denen sie gehören. Es wird aus der Eingabe wie folgt erhalten ( A
bezeichnet ein beliebiges Zeichen):
- Jeder
\bar{A}
wird ersetzt durchA
mit_
oben drauf. - Jeder
\dot{A}
wird ersetzt durchA
mit.
oben drauf. - Jeder
\hat{A}
wird ersetzt durchA
mit^
oben drauf. - Für einen 10% Bonus: jeder
\tilde{A}
wird ersetzt durch dieA
mit~
oben drauf. - Alle anderen Zeichen haben ein Leerzeichen darüber.
Zum Beispiel die Eingabe
Je suis pr\hat{e}t.
führt zur Ausgabe
^
Je suis pret.
Regeln und Wertung
Sie können davon ausgehen , dass die Zeichen \{}
nur in dem Makros auftreten \bar{}
, \dot{}
und \hat{}
(und \tilde{}
wenn Sie sich für den Bonus zu gehen). Alle Makroargumente sind genau ein Zeichen lang \dot{foo}
und \dot{}
kommen daher in der Eingabe nicht vor. Die Ausgabe kann eine durch Zeilenumbrüche getrennte Zeichenfolge oder eine Liste / ein Paar von zwei Zeichenfolgen sein. Jede Anzahl von nachgestellten und vorangestellten Leerzeichen ist zulässig, solange sich die Akzente an den richtigen Stellen befinden. Insbesondere wenn keine Akzente vorhanden sind, kann die Ausgabe eine einzelne Zeichenfolge sein.
Sie können ein vollständiges Programm oder eine Funktion schreiben. Die niedrigste Byteanzahl (nach Boni) gewinnt und Standardschlupflöcher sind nicht zulässig.
Testfälle
Ohne Bonus:
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
Mit Bonus:
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}
eine gültige Eingabe?