Dalam Dyalog APL Extended @ Adám , operator (bawah) berarti konjugasi: menerapkan satu fungsi, lalu fungsi kedua, lalu kebalikan dari yang pertama. Sangat menyenangkan untuk memikirkan tindakan kehidupan nyata dalam hal konjugasi:⍢
Masalah ditransformasikan oleh g ke domain lain yang lebih mudah diselesaikan oleh f, dan kemudian ditransformasikan kembali ke domain asli. Contoh dari kehidupan nyata adalah "di bawah anestesi":
apply anesthetics perform surgery wake up from anesthetics
Tantangan
Kebalikan dari suatu baris gadalah "un" yang diawali dengan g, dan sebaliknya. Tentukan setiap garis antara sdan kebalikannya, dalam urutan itu, sebagai "bawah" s. Untuk setiap baris fdalam input secara berurutan:
- Jika
fdan kebalikannya terjadi, jangan lakukan apa pun - Jika
ftidak "di bawah" tindakan lain, cetakf - Jika
fberada "di bawah" sebuah garisg, cetak dif + " under " + gmana+rangkaian.
Memasukkan
String multiline nonempty, atau daftar string, dll., Yang terdiri dari spasi dan huruf kecil (Anda bisa menggunakan huruf besar). Tepat satu baris akan dimulai dengan "un"; dan itu akan menjadi kebalikan dari beberapa baris lainnya. Tidak ada baris yang kosong.
Keluaran
Keluaran dalam format yang sama dengan yang Anda masukkan, atau sebagaimana diizinkan oleh I / O Standar.
Kasus uji:
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]