B4297 [蓝桥杯青少年组国赛 2022] 翻卡片
题目描述
小蓝在玩翻卡片游戏,每张卡片一面写着大写字母 `A`,另一面写着大写字母 `B`。首先将卡片排成一个 $N \times N$ 的矩阵。有的卡片是 `A` 面朝上,有的卡片是 `B` 面朝上。
现给定 $N$ 的值,及 $N \times N$ 矩阵中每张卡片的状态,请你帮助小蓝挑选一张 `B` 面的卡,翻转成 `A` 面,使得翻转后的上、下、左、右四个方向相连的 `A` 面卡片最多,并将相连最多的卡片数量输出。
例如:$N=3$,$3 \times 3$ 的矩阵中的卡片状态如下:
| A | B | B |
|---|---|---|
| A | B | A |
| B | A | B |
选择第二行第二列的那张 `B` 面卡片,翻转为 `A` 面,可以使翻转后四个方向相连的 `A` 面卡片最多,为 $5$ 张。
| A | B | B | | A | B | B |
|---|---|---|---|---|---|---|
| A | B | A | $\rightarrow$ | A | A | A |
| B | A | B | | B | A | B |
输入格式
第一行输入一个正整数 $N$($2 \leq N \leq 50$),表示矩阵的行数和列数。
第二行开始输入 $N$ 行,每行输入 $N$ 个字符(`A` 或者 `B`),表示矩阵中卡片状态,字符之间以一个空格隔开。
输出格式
输出一个整数,表示翻转后相连的 `A` 面卡片的最大数量。