#acl1c. [acl1_c]Moving Pieces
[acl1_c]Moving Pieces
题目描述
有一个 行 列的棋盘。该棋盘的信息由 个字符串 表示。具体地,棋盘上第 行从上往下和第 列从左往右的方格的状态如下表示:
.
:方格为空白。#
:方格上放置了障碍物。o
:方格上放置了棋子。
Yosupo 重复进行以下操作:
- 选择一个棋子,并将其移动到其右边的相邻方格或下方的相邻方格。禁止将棋子移动到其他棋子或障碍物所在的方格上。同时,不允许将棋子移动到棋盘之外。
Yosupo 希望尽可能多地执行这个操作。找到最大可能的操作次数。
约束条件
- 是长度为 的由
.
、#
和o
组成的字符串。 - 棋子数量 。换言之,满足
o
的 对的数量在 到 之间,包括 和 。
输入
输入以以下格式从标准输入给出:
输出
在一行中打印最大可能的操作次数。
样例输入 1
3 3
o..
...
o.#
样例输出 1
4
Yosupo 可以按照如下方式执行操作 次:
o.. .o. ..o ... ...
... -> ... -> ... -> ..o -> ..o
o.# o.# o.# o.# .o#
样例输入 2
9 10
.#....o#..
.#..#..##o
.....#o.##
.###.#o..o
#.#...##.#
..#..#.###
#o.....#..
....###..o
o.......o#
样例输出 2
24