In @ Adáms Dyalog APL Extended bedeutet der ⍢
(Unter-) Operator Konjugation: Wende eine Funktion an, dann eine zweite Funktion, dann die Inverse der ersten. Es macht Spaß, an reale Aktionen in Bezug auf Konjugation zu denken:
Ein Problem wird von g in eine andere Domäne transformiert, wo es von f leichter gelöst wird, und dann zurück in die ursprüngliche Domäne transformiert. Ein Beispiel aus dem wirklichen Leben ist "unter Betäubung":
apply anesthetics perform surgery wake up from anesthetics
Herausforderung
Die Umkehrung einer Zeile g
wird "un" vorangestellt g
und umgekehrt. Definieren Sie eine beliebige Linie zwischen s
und ihrer Umkehrung in dieser Reihenfolge als "unter" s
. Für jede f
Eingabezeile in der Reihenfolge:
- Wenn
f
und seine Umkehrung beide auftreten, nichts tun - Wenn
f
keine andere Aktion ausgeführt wird, drucken Sief
- Wenn
f
"unter" einer Zeile stehtg
, wird gedruckt,f + " under " + g
wo+
sich die Verkettung befindet.
Eingang
Eine nicht leere mehrzeilige Zeichenfolge oder eine Liste von Zeichenfolgen usw., die aus Leerzeichen und Kleinbuchstaben besteht (Sie können stattdessen auch Großbuchstaben verwenden). Genau eine Zeile beginnt mit "un"; und es wird das Gegenteil einer anderen Zeile sein. Keine Zeile wird leer sein.
Ausgabe
Die Ausgabe erfolgt in demselben Format, in dem Sie die Eingabe vorgenommen haben, oder wie von Standard-E / A zugelassen.
Testfälle:
Input:
apply anesthetics
perform surgery
unapply anesthetics
Output:
perform surgery under apply anesthetics
Input:
unite asia
establish the silk road
ite asia
Output:
establish the silk road under unite asia
Input:
desire a book
walk to store
take the book
pay for the book
unwalk to store
read the book
Output:
desire a book
take the book under walk to store
pay for the book under walk to store
read the book
Input:
drink excessively
undrink excessively
Output:
[empty string]