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` 面卡片的最大数量。