オシャレ好きのビ太郎は,カーペットを新調した.カーペットは縦 H 行,横 W 列のマス目状に区切られた長方形の形をしており,各マスは白か黒のいずれかの色で塗られている.カーペットの上から i 行目,左から j 列目 (1 ≦ i ≦ H,1 ≦ j ≦ W) にあるマスの色は,文字列 Si の j 文字目が .
のとき白色,#
のとき黒色である.
ビ太郎は,カーペットの最も左上のマスに駒を置き,以下の操作を何回か行うことで,その駒をカーペットの最も右下のマスに到達させるという遊びを思いついた.
ビ太郎は,到達までの操作回数をなるべく少なくしたい.ただし,カーペットの模様によっては到達させられないかもしれない.
カーペットの模様の情報が与えられたとき,操作を繰り返すことで左上のマスから右下のマスに駒を到達させることが可能かを判定し,可能ならば操作回数の最小値を求めるプログラムを作成せよ.
.
または #
である (1 ≦ i ≦ H).
入力は以下の形式で標準入力から与えられる.
H W
S1
S2
:
SH
操作を繰り返すことで左上のマスから右下のマスに駒を到達させることが可能な場合は操作回数の最小値を,不可能な場合は -1
を,標準出力に 1 行で出力せよ.
4 5 ...#. ##### ...#. #.###
9
例えば,図のような操作が考えられる.
左の例では 9 回の操作で,右の例では 13 回の操作で,左上のマスから右下のマスに駒を到達させることが可能である.
9 回よりも少ない操作回数で到達させることは不可能なので,9 を出力する.
3 3 ... ... ...
-1
はじめから操作ができない場合もある.この場合,駒を右下のマスに到達させることは不可能なので,-1
を出力する.
1 5 .#.#.
4
5 5 ###.# .#... .#..# .#### ##..#
12
7 5 .#.## ##... .#.## .###. ##.#. ...#. ##.#.
12
情報オリンピック日本委員会作 『第 21 回日本情報オリンピック JOI 2021/2022 二次予選競技課題』