各マスに D か Z が書かれた、 の迷路があります。
あなたは、左上のマスからスタートし、上下左右の移動を繰り返し(同じマスを何回通ってもよい)、右下のゴールに行きたいです。
ただし、この迷路から脱出するには、左上のスタートから右下のゴールまでに通ったマスに書かれた文字が、
Z(スタートマス)→D→D→Z→D→D→......→Z→D→D(ゴールマス)
となっていなければなりません。
ここで、途中でゴールマスを何回でも通ってもよいことに注意してください。
あなたは脱出できるでしょうか?また、最小で何回の移動で脱出できますか?
D か ZZ、 D入力は以下の形式で標準入力から与えられます。
迷路から脱出するための最小の移動回数を出力してください。
迷路から脱出できない場合、-1 を出力してください。
最後に改行してください。
3 3 ZDD ZZZ DDD
8
例えば、→→↓↓←↑↓→ のように移動すると、通ったマスの文字列が ZDDZDDZDD となった状態で右下のマスに到達できるため、脱出することができます。
→→↓↓ でも右下のマスに到達できますが、通ったマスの文字列が ZDDZD となり、ZDD で終わっていないので脱出できません。
また、→→↓↓← は、通ったマスの文字列が ZDDZDD であり、さらにゴールマスを一度通っていますが、現在ゴールマスにいないので脱出できません。
6 6 ZDDZDD DZZDDZ ZDZZZD ZDZZZZ DZZDDD DZDDZD
20