atcoder#ACL1C. Moving Pieces
Moving Pieces
配点 : 点
問題文
行 列からなる盤面があります. この盤面の情報は 個の文字列 によって表されます. 具体的には,上から 行目,左から 列目のマスの状態は,以下のように表されます.
.
: このマスは空である.#
: このマスには障害物が置かれている.o
: このマスには つの駒が置かれている.
yosupo くんが,これから以下の操作を繰り返します.
- 駒を つ選び, 個下,もしくは 個右のマスに移動させる. ただし,他の駒もしくは障害物のあるマスに駒を移動させる操作は禁止されている. もちろん,駒が盤面を飛び出すような操作も行えない.
yosupo くんは,できるだけ多くの回数操作をしたいです. 操作回数の最大値を求めてください.
制約
- は,
.
,#
,o
からなる長さ の文字列. - 駒の個数 .
つまり,
o
を満たす の個数は 個以上 個以下.
入力
入力は以下の形式で標準入力から与えられる.
出力
操作回数の最大値を一行に出力せよ.
3 3
o..
...
o.#
4
以下のように 回の操作を行えます.
o.. .o. ..o ... ...
... -> ... -> ... -> ..o -> ..o
o.# o.# o.# o.# .o#
9 10
.#....o#..
.#..#..##o
.....#o.##
.###.#o..o
#.#...##.#
..#..#.###
#o.....#..
....###..o
o.......o#
24