蛋糕终结者(cake)

题目描述

有一个 rrcc 列的矩形蛋糕。蛋糕中的每个格子可能是空的,也可能有一颗邪恶草莓。

用字符表示如下:

  • .\texttt{.} 表示这个格子是普通蛋糕;
  • S\texttt{S} 表示这个格子上有邪恶草莓。

蛋糕终结者想吃掉尽可能多的蛋糕格子。

每次他可以选择一整行或一整列吃掉,但这行或这一列必须满足:

  1. 不包含任何邪恶草莓;
  2. 至少包含一个还没有被吃掉的蛋糕格子。

他可以进行任意多次操作。

请你求出他最多能吃掉多少个蛋糕格子。

输入格式

第一行包含两个整数 r,cr,c,表示蛋糕的行数和列数。

接下来 rr 行,每行包含一个长度为 cc 的字符串,表示蛋糕矩阵。

字符串中只包含字符 .\texttt{.}S\texttt{S}

输出格式

输出一行一个整数,表示最多能吃掉的蛋糕格子数量。

输入输出样例 #1

输入 #1

3 4
S...
....
..S.

输出 #1

8

样例解释 #1

蛋糕矩阵如下:

S...
....
..S.

22 行没有邪恶草莓,因此可以整行吃掉,共吃掉 44 个格子。

此时第 22 行已经被吃掉。

接下来可以吃掉第 22 列和第 44 列,因为这两列都不包含邪恶草莓。

其中第 22 列还能新吃掉 22 个格子,第 44 列还能新吃掉 22 个格子。

所以最多可以吃掉:

4+2+2=84 + 2 + 2 = 8

个蛋糕格子。

输入输出样例 #2

输入 #2

2 2
SS
SS

输出 #2

0

样例解释 #2

每一行、每一列都包含邪恶草莓。

因此蛋糕终结者无法吃掉任何一整行或一整列,答案为 00

数据范围与约定

对于所有测试数据,保证:

2r,c102 \le r,c \le 10
测试点 分值 rr cc 特殊性质
121\sim 2 2020 3\le 3
343\sim 4 10\le 10 A\text{A}
565\sim 6 B\text{B}
787\sim 8 C\text{C}
9109\sim 10

特殊性质 A\text{A}:保证蛋糕中没有邪恶草莓。

特殊性质 B\text{B}:保证蛋糕中每一行都至少有一颗邪恶草莓。

特殊性质 C\text{C}:保证蛋糕中每一列都至少有一颗邪恶草莓。