Oh tidak! Nemo, ikan badut kecil kita hilang di samudera ASCII ini dan ayahnya Marlin berusaha menemukannya.
Tugas Anda adalah membawa Marlin ke Nemo dengan aman. Tapi berhati-hatilah, kita punya Bruce yang hiruk pikuk, jadi lebih baik hindari dia!
Detail
Anda diberi kotak laut ASCII persegi panjang yang hanya berisi huruf kecil a-z. Samudra ini akan memiliki nemo, marlindan brucedi dalamnya dalam bentuk polyomino terus menerus, selalu dimulai dari sel paling atas di kolom pertama polyomino. Jadi misalnya, dari semua tetromino yang mungkin, yang valid tercantum dalam cuplikan di bawah ini
Tetapi formulir seperti ini tidak valid dan tidak akan ada di input:
omen
ne
mo
nem
o
o
m
en
nem
o
n
eo
m
Terakhir, tugas Anda adalah menemukan jalur dari marlinubin polyomino ke nemoubin polyomino memastikan bahwa setiap sel di jalur Anda tidak berdekatan dengan bruceubin polyomino. Output Anda harus mengganti semua huruf yang bukan bagian dari marlinubin, nemoubin dan jalur yang menghubungkan keduanya dengan karakter dari rentang ASCII yang dapat dicetak (termasuk spasi) selain huruf kecil a-z.
Contoh
Jika lautan input adalah sebagai berikut:
oxknvvolacycxg
xmliuzsxpdzkpw
warukpyhcldlgu
tucpzymenmoyhk
qnvtbsalyfrlyn
cicjrucejhiaeb
bzqfnfwqtrzqbp
ywvjanjdtzcoyh
xsjeyemojwtyhi
mcefvugvqabqtt
oihfadeihvzakk
pjuicqduvnwscv
(dengan 3 polyominos adalah:
...n..........
.mli..........
.ar...........
..............
....b.........
....ruce......
..............
.....n........
.....emo......
..............
..............
..............
)
Maka solusi yang valid mungkin terlihat seperti:
...n..........
.mli..........
.ar...........
.u............
.n............
.i............
.z............
.wvjan........
.....emo......
..............
..............
..............
Cuplikan di bawah ini berisi beberapa contoh lagi:
Catatan
- Kotak akan selalu menjadi kotak yang sempurna dan hanya akan berisi satu ubin polyomino
nemo,marlindanbruce. - Jalur Anda tidak boleh melalui
bruceatau salah satu dari 4 sel yang berdekatan (atas, bawah, kiri dan kanan) dari sel mana pun dibruceubin. - Selalu dijamin bahwa akan ada setidaknya satu jalur yang valid dari
marlinkenemo. - Tidak ada persyaratan jalur terpendek di sini, jadi pergilah!
- Meskipun Anda tidak harus menemukan jalur terpendek, setiap sel di jalur (jalur yang tidak termasuk marlin atau nemo) tidak dapat berdekatan dengan lebih dari dua sel lain di jalur.
- Jalan itu tidak harus pergi melalui
marlinataunemoubin, karena kemudian akan membingungkan ikan kecil dalam memilih arah. - Seperti biasa, Anda dapat menulis program atau fungsi, mengambil input melalui STDIN (atau setara terdekat), argumen baris perintah atau parameter fungsi, dan menghasilkan output melalui STDOUT (atau setara terdekat), mengembalikan nilai atau parameter function (out).
- Jika input multi-line tidak memungkinkan, maka Anda dapat mengasumsikan bahwa grid digabungkan dengan
|karakter, bukan\n. Anda juga dapat mengambil input sebagai larik baris kisi.
Ini adalah kode golf sehingga entri terpendek dalam byte menang.
katasldalam marlin terlihat? (membuat jalan dari n in marlin ke nemo)