В @ Адамов Dyalog APL Extended , то ⍢
(в) оператор засоби сполучення: застосовувати одну функцію, а потім другу функцію, то зворотна першої. Приємно думати про реальні дії з точки зору сполучення:
Проблема перетворюється g в інший домен, де вона легше вирішується f, а потім перетворюється назад у вихідний домен. Приклад із реального життя - "під наркозом":
apply anesthetics perform surgery wake up from anesthetics
Виклик
Зворотний рядок g
є "un" g
, і навпаки. Визначте будь-яку лінію між s
та її зворотною, у тому порядку, як "під" s
. Для кожного рядка f
введення в порядку:
- Якщо
f
і її зворотна ситуація має місце, нічого не робіть - Якщо
f
не вказано жодної іншої дії, надрукуйтеf
- Якщо
f
рядок "під"g
, надрукуйте,f + " under " + g
де+
є конкатенація.
Вхідні дані
Непорожній багаторядковий рядок або список рядків тощо, що складається з пробілів і малих літер (замість цього можна використовувати великі регістри). Рівно один рядок розпочнеться з "un"; і це буде оберненою деякою іншою лінією. Жоден рядок не буде порожнім.
Вихідні дані
Виведіть у тому ж форматі, у якому ви приймали вхід, або відповідно до стандартного вводу / виводу.
Тестові приклади:
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]