#ddcc2017quald. [ddcc2017_qual_d]石
[ddcc2017_qual_d]石
问题描述
有一个南北方向为 ,东西方向为 的网格状花园,第 行,第 列的格子记作 。
其中, 和 是偶数。
每个格子最多有一个石头,而且至少有一个格子有石头。
初始花园状态由字符串 描述,如果格子 有石头,则 = S
,如果没有石头,则 = .
。
需要一次次地移除石头。
在移除石头后,如果花园在南北方向上呈对称状态,则得到快乐度 ;如果花园在东西方向上呈对称状态,则得到快乐度 。
其中,当花园在南北方向和东西方向上都呈对称状态时,得到的快乐度为 。
请计算以任意顺序移除所有石头时可以获得的最大快乐度。
南北方向上的对称性定义如下:
- 对于所有的 ,如果格子 有石头,则格子 也有石头;如果格子 没有石头,则格子 也没有石头。
东西方向上的对称性定义如下:
- 对于所有的 ,如果格子 有石头,则格子 也有石头;如果格子 没有石头,则格子 也没有石头。
约束条件
- 为偶数
- 为
S
或.
- 至少存在一个格子有石头
- 是给定的整数
输入
输入通过标准输入给出,格式如下:
:
输出
输出最大快乐度 。
输入示例 1
4 4
2 5
....
.SS.
..S.
输出示例 1
12
例如,按顺序移除 ,, 这三个格子的石头,此时移除格子 时花园在东西方向上呈对称状态,移除格子 时花园在南北方向和东西方向上都呈对称状态,得到的快乐度为 。
输入示例 2
2 2
4 7
.S
S.
输出示例 2
11
不管什么顺序移除石头,除非移除最后一个石头,否则无法获得快乐度。
输入示例 3
4 8
9 13
.SS.....
.SS.....
.SS.....
.SS.....
输出示例 3
49