AT_abc193_f [ABC193F] Zebraness
题目描述
有一个纵向 $N$ 行、横向 $N$ 列的网格。
我们用 $(i, j)$ 表示从上往下第 $i$ 行、从左往右第 $j$ 列的格子。格子 $(i, j)$ 的颜色信息由字符 $c_{i,j}$ 给出。
`B` 表示该格子被涂成黑色,`W` 表示该格子被涂成白色,`?` 表示该格子尚未被涂色。
高桥君可以将尚未涂色的格子分别涂成黑色或白色,从而得到一个黑白相间的网格。
我们定义网格的**斑马度**为:满足有相同边的两个异色格子的数量之和。如 $(1,1)$ 和 $(1,2)$ 是满足有相同边的($N \ge 2$)而 $(1,1)$ 和 $(2,2)$ 而不是。注意,如果 $(1,1)$ 和 $(1,2)$ 满足条件,则不应该重复计数 $(1,2)$ 和 $(1,1)$。换言之,一对异色格子只能计算 $1$ 次。
请你求出高桥君能够达到的斑马度的最大值。
输入格式
输入以以下格式从标准输入读入。
> $N$
> $c_{1,1}\ c_{1,2}\ \dots\ c_{1,N}$
> $\vdots$
> $c_{N,1}\ c_{N,2}\ \dots\ c_{N,N}$
输出格式
请输出答案。
说明/提示
## 限制条件
- $1 \leq N \leq 100$
- $c_{i,j}$ 仅为 `B`、`W` 或 `?` 之一
## 样例解释 1
通过边相邻的黑格和白格的组合有:格子 $(1,2)$ 与格子 $(2,2)$,格子 $(2,1)$ 与格子 $(2,2)$,共 $2$ 组,因此斑马度为 $2$。
## 样例解释 2
将格子 $(3,2)$ 涂成白色时,斑马度为 $3$;涂成黑色时,斑马度为 $4$。
由 ChatGPT 4.1 翻译