問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
整数 N, M, S, T が与えられます。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) に障害物がないことを意味します。
グリッドのそれぞれのマスに書く文字を以下のように定めます。
・そのマスに障害物がある場合には #。
・そうでない場合は (S, T) から左右上下の 4 方向に移動することを考えた時にそのマスにたどり着くまでに必要な移動の最小回数を 10 で割った余り。ただし、障害物があるマスには移動が出来ず、たどり着くことが出来ないマスは . とする。
文字を書き込んだ後のグリッドを求めてください。
N M S T
L_1
L_2
...
L_N
答えを N 行で出力してください。
i (1 ≦ i ≦ N) 行目には長さ M の文字列を出力してください。i (1 ≦ i ≦ N) 行目の文字列の j (1 ≦ j ≦ M) 文字目は (i, j) に書き込んだ文字と一致している必要があります。
すべてのテストケースにおいて、以下の条件をみたします。
# と . で構成された長さ M の文字列 (1 ≦ i ≦ N).5 5 3 3
.....
#.#.#
...#.
.#..#
.....
43456
#2#6#
210#.
3#12#
43234
1 11 1 1
...........
01234567890