@アダムの Dyalog APLは拡張、⍢
オペレータ手段(下)コンジュゲーションを:次につの機能は、第二の機能、最初の逆を適用します。共役の観点から実際のアクションを考えるのは楽しいです:
問題はgによって別のドメインに変換され、そこでfによってより簡単に解決された後、元のドメインに変換されます。実生活の例は「麻酔下」です。
apply anesthetics perform surgery wake up from anesthetics
チャレンジ
行の逆g
はに「un」が付加されg
、その逆も同様です。s
"under"として、その順序でその間の逆行を定義しますs
。f
入力の各行ごとに:
- もし
f
、両方の発生およびその逆の、何もしません f
他のアクションの「下」にない場合、印刷f
f
がlineの「下」にある場合g
、f + " under " + g
where+
is concatenationを出力します。
入力
スペースと小文字で構成される空でない複数行の文字列、または文字列のリストなど(代わりに大文字を使用できます)。正確に1行は「un」で始まります。他の行の逆になります。空の行はありません。
出力
入力と同じ形式、または標準I / Oで許可されている形式で出力します。
テストケース:
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]