String dengan Konteks
Untuk keperluan tantangan ini, string dengan konteks adalah tiga string, yang disebut konteks kiri , bagian data , dan konteks yang benar . Ini mewakili substring dari string yang lebih panjang. Kami menggunakan pipa vertikal |sebagai pemisah, jadi contoh string dengan konteks adalah cod|e-go|lf, di mana konteks kiri cod, data e-go, dan konteks yang benar lf. Contoh ini mewakili substring e-godari code-golf.
Sekarang, untuk menyatukan dua string dengan konteks, kami melanjutkan sebagai berikut, menggunakan aa|bcc|deedan cc|de|eeesebagai contoh. Kami menyelaraskan string seperti pada diagram
a a|b c c|d e e
c c|d e|e e e
sehingga bagian data mereka berdekatan. Bagian data dari rangkaian adalah gabungan bagian data, dalam hal ini bccde. Konteks kiri adalah bagian yang memanjang lebih jauh ke kiri dari bagian data pertama, dalam hal ini aa. Demikian pula, konteks yang tepat adalah eee, jadi rangkaiannya adalah string dengan konteks aa|bccde|eee. Untuk contoh kedua, pertimbangkan a|bb|cddan aabb|cd|, di mana kata kedua memiliki konteks kanan kosong. Diagram penyelarasan adalah
a|b b|c d
a a b b|c d|
di mana konteks kiri kata kedua meluas lebih jauh dari yang pertama. Rangkaiannya adalah aa|bbcd|.
Tapi tunggu, ada gotcha: jika huruf-huruf diagram alinyemen tidak cocok, maka tidak ada concatenation! Sebagai contoh, diagram aa|bb|ccdan c|c|cis
a a|b b|c c
c|c|c
di mana bdan cpada kolom keempat tidak setuju, sehingga mereka tidak bisa digabungkan.
Tugas
Tugas Anda adalah menulis sebuah program yang terdiri dari dua string dengan konteks yang bagian-bagiannya dipisahkan |seperti di atas, dan menampilkan rangkaiannya jika ada, dan sesuatu yang lain jika tidak. "Sesuatu yang lain" bisa berupa nilai apa saja, termasuk tidak ada keluaran, asalkan itu bukan string yang valid dengan konteks, dan itu sama dalam semua kasus. Namun, melempar kesalahan tidak dapat diterima. Anda dapat memberikan program STDIN-ke-STDOUT atau fungsi, dan fungsi anonim juga diterima. Hitungan byte terkecil menang, dan celah standar tidak diizinkan.
Uji Kasus
aa|bcc|dee cc|de|eee -> aa|bccde|eee
a|bb|cd aabb|cd| -> aa|bbcd|
a|b|cccd aab|cc|c -> aa|bcc|cd
a|b|c b||cd -> a|b|cd
aa|bb|cc c|c|c -> None
aaa|b|c abb|cd|d -> None
|bb|cd abb|c|ed -> None
a|b|c a||cd -> None
|1<2=""ke definisi&harus menyelesaikannya. Maaf saya tidak menyebutkan ini secara lebih spesifik dalam spesifikasi, saya akan mengeditnya.