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
, marlin
dan bruce
di 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 marlin
ubin polyomino ke nemo
ubin polyomino memastikan bahwa setiap sel di jalur Anda tidak berdekatan dengan bruce
ubin polyomino. Output Anda harus mengganti semua huruf yang bukan bagian dari marlin
ubin, nemo
ubin 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
,marlin
danbruce
. - Jalur Anda tidak boleh melalui
bruce
atau salah satu dari 4 sel yang berdekatan (atas, bawah, kiri dan kanan) dari sel mana pun dibruce
ubin. - Selalu dijamin bahwa akan ada setidaknya satu jalur yang valid dari
marlin
kenemo
. - 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
marlin
ataunemo
ubin, 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.
k
atasl
dalam marlin terlihat? (membuat jalan dari n in marlin ke nemo)