大野!ニモ、私たちの小さなカクレクマノミはこのASCIIの海で失われ、彼の父マーリンは彼を見つけようとしています。
あなたの仕事は、Marlinを安全にNemoに連れて行くことです。しかし、気をつけてください、私たちはルーズにブルースを食べているので、彼を避けてください!
詳細
小文字のアルファベットのみを含む長方形のASCIIオーシャングリッドが表示されますa-z
。この海にはがありnemo
、marlin
そのbruce
内部には連続ポリオミノの形で、常にポリオミノの最初の列の一番上のセルから始まります。たとえば、可能なすべてのテトロミノのうち、有効なものは以下のスニペットにリストされています
ただし、次のようなフォームは無効であり、入力には含まれません。
omen
ne
mo
nem
o
o
m
en
nem
o
n
eo
m
最後に、marlin
ポリオミノタイルからポリオミノタイルへのパスを見つけて、パスnemo
内のセルがbruce
ポリオミノタイルに隣接していないことを確認します。出力は、marlin
タイル、nemo
タイル、およびそれらの両方を接続するパスの一部ではないすべてのアルファベットを、小文字以外の印刷可能なASCII範囲(スペースを含む)の文字で置き換える必要がありa-z
ます。
例
入力海洋が次の場合:
oxknvvolacycxg
xmliuzsxpdzkpw
warukpyhcldlgu
tucpzymenmoyhk
qnvtbsalyfrlyn
cicjrucejhiaeb
bzqfnfwqtrzqbp
ywvjanjdtzcoyh
xsjeyemojwtyhi
mcefvugvqabqtt
oihfadeihvzakk
pjuicqduvnwscv
(3つのpolyominosは次のとおりです。
...n..........
.mli..........
.ar...........
..............
....b.........
....ruce......
..............
.....n........
.....emo......
..............
..............
..............
)
有効なソリューションは次のようになります。
...n..........
.mli..........
.ar...........
.u............
.n............
.i............
.z............
.wvjan........
.....emo......
..............
..............
..............
以下のスニペットには、さらにいくつかの例が含まれています。
ノート
- グリッドは、常に完璧な長方形になるとの唯一のポリオミノのタイルが含まれています
nemo
、marlin
とbruce
。 - パスは
bruce
、bruce
タイル内のセルの隣接する4つのセル(上、下、左、右)を通過してはなりません。 - から
marlin
までの有効なパスが少なくとも1つあることが常に保証されnemo
ます。 - ここには最短経路の要件はありませんので、気をつけてください!
- 最短のパスを見つける必要はありませんが、パス内のセル(marlinまたはnemoを含まないパス)は、パス内の他の3つ以上のセルに隣接できません。
- パスが通過するべきではない
marlin
か、nemo
それがその後の方向を選ぶ際に小さな魚を混乱させるとして、タイル。 - いつものように、STDIN(または最も近い同等物)、コマンドライン引数または関数パラメーターを介して入力を受け取り、STDOUT(または最も近い同等物)、戻り値または関数(出力)パラメーターを介して出力を生成するプログラムまたは関数を作成できます。
- 複数行の入力が不可能な場合、グリッドはの
|
代わりに文字で結合されていると想定できます\n
。入力をグリッド行の配列として取得することもできます。
これはコードゴルフであるため、バイト単位の最短エントリが優先されます。
k
上記のl
マーリンが見える場合、上記のソリューションはまだ有効ですか?(マーリンのnからnemoへのパスを作成)