問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
整数 N, M が与えられます。N 行 M 列のグリッドがあります。上から i (1 ≦ i ≦ N) 行目、左から j (1 ≦ j ≦ M) 列目のマスを (i, j) と表記します。
また、N 個の長さ M の文字列 L_1,...,L_N が与えられます。L_i (1 ≦ i ≦ N) の j (1 ≦ j ≦ M) 文字目が # のときは (i, j) に障害物があることを、. のときは (i, j) に障害物がないことを意味します。
今回は障害物を破壊することができ、破壊するとそのマスも通行可能になります。
左右上下の 4 方向に移動を繰り返し行い (1, 1) から (N, M) に移動を行う時障害物を壊す回数の最小値を求めてください。
N M
L_1
L_2
...
L_N
答えを 1 行で出力してください。
すべてのテストケースにおいて、以下の条件をみたします。
# と . で構成された長さ M の文字列 (1 ≦ i ≦ N).5 5
.....
###.#
...#.
.#..#
#.##.
2
1 11
...........
0