縦横 のグリッドがあります。上から 行目、左から 列目のマスを と表します。 各マスの状態は で表されます。各マスの状態は次の つのいずれかです。
S:スタート地点。グリッド上にちょうど つだけ存在する。G:ゴール地点。グリッド上にちょうど つだけ存在する。.:白色で塗られたマス。#:黒色で塗られたマス。 yura君はスタート地点を出発してグリッド上を移動してゴール地点へ行こうとしています。yura君は にいるときにマス のいずれかに移動することが出来ます。
ただし、グリッドの外に出るような移動や、黒で塗られたマスへの移動を行うことは出来ません。
お金持ちのyura君は、移動中に次の行動を何度でも行うことが出来ます。
yura君がスタート地点からゴール地点へ到達するために必要な最小の金額を求めてください。
S, G, ., # からなる長さ の文字列S, G は の中でちょうど 回だけ登場する.入力は以下の形式で標準入力から与えられます。
yura君がゴールするのに必要な最小の金額を 行に出力してください。
3 3 S## .#. ##G
1
を白く塗ることで、 円でゴールすることが出来ます。
5 5 S#... .#.#. .#.#. .#.#. ...#G
0
円も支払うことなくゴールすることが出来ます。
8 8 #.#.#.#. ...##..# S##.#.#. #####.#. #####.## .#..##.# ##..G#.. .###..##
3