Oh hayır! Nemo, küçük palyaço balığımız bu ASCII okyanusunda kayboluyor ve babası Marlin onu bulmaya çalışıyor.
Göreviniz Marlin'i Nemo'ya güvenle götürmek. Ama dikkat edin, gevşek bir beslenme çılgınlığı Bruce var, bu yüzden onu pahasına önlemek daha iyi!
ayrıntılar
Yalnızca küçük harfli alfabe içeren dikdörtgen ASCII okyanus ızgarası verilir a-z
. Bu okyanus olacak nemo
, marlin
ve bruce
onun içinde sürekli bir Polyomino şeklinde, her zaman Polyomino ilk sütununda en üst hücreden başlayarak. Örneğin, olası tüm tetrominolardan geçerli olanlar aşağıdaki snippet'te listelenir
Ancak bunlar gibi formlar geçersizdir ve girdide bulunmayacaktır:
omen
ne
mo
nem
o
o
m
en
nem
o
n
eo
m
Son olarak, göreviniz, yolunuzdaki herhangi bir hücrenin polyomino döşemesine bitişik olmadığından emin olarak polyomino döşemesinden marlin
polyomino döşemesine bir yol bulmaktır . Çıktınız, döşemenin, döşemenin ve bunları birleştiren yolun parçası olmayan tüm alfabe harflerini , küçük harf dışında yazdırılabilir ASCII aralığındaki (boşluk dahil) bir karakterle değiştirmelidir .nemo
bruce
marlin
nemo
a-z
Misal
Giriş okyanusu aşağıdaki gibi ise:
oxknvvolacycxg
xmliuzsxpdzkpw
warukpyhcldlgu
tucpzymenmoyhk
qnvtbsalyfrlyn
cicjrucejhiaeb
bzqfnfwqtrzqbp
ywvjanjdtzcoyh
xsjeyemojwtyhi
mcefvugvqabqtt
oihfadeihvzakk
pjuicqduvnwscv
(3 polyomino şu şekilde:
...n..........
.mli..........
.ar...........
..............
....b.........
....ruce......
..............
.....n........
.....emo......
..............
..............
..............
)
O zaman geçerli bir çözüm şöyle görünebilir:
...n..........
.mli..........
.ar...........
.u............
.n............
.i............
.z............
.wvjan........
.....emo......
..............
..............
..............
Snippet'in altında birkaç örnek daha bulunmaktadır:
notlar
- Izgara her zaman mükemmel bir dikdörtgen olacak ve yalnızca bir polyomino karo içerir
nemo
,marlin
vebruce
. - Yolunuz
bruce
veyabruce
döşemedeki herhangi bir hücrenin 4 bitişik (yukarı, aşağı, sol ve sağ) hücresinden geçmemelidir . - - arasında en az bir geçerli yol olacağı her zaman garanti
marlin
edilirnemo
. - Burada en kısa yol gerekmemektedir, bu yüzden çıldırmak!
- En kısa yolu bulmak zorunda olmasanız da, yoldaki herhangi bir hücre (marlin veya nemo içermeyen yol) yoldaki diğer ikiden fazla hücreye bitişik olamaz.
- Yol
marlin
veyanemo
fayanslardan geçmemelidir , çünkü daha sonra küçük balıkları bir yön seçerken karıştırır. - Her zaman olduğu gibi, STDIN (veya en yakın eşdeğeri), komut satırı bağımsız değişkeni veya işlev parametresi aracılığıyla girdi alarak ve STDOUT (veya en yakın eşdeğeri), dönüş değeri veya işlev (çıkış) parametresi aracılığıyla çıktı üreterek bir program veya işlev yazabilirsiniz.
- Çok satırlı giriş mümkün değilse, ızgaranın
|
yerine karakterle birleştirildiğini varsayabilirsiniz\n
. Ayrıca girdiyi bir dizi ızgara satırı olarak da alabilirsiniz.
Bu kod golf yani bayt en kısa giriş kazanır.
k
yukarıdakil
görünür ise yukarıdaki çözüm hala geçerli olur mu? (