T329336 [2022第十三届蓝桥杯青少年组国赛] 翻卡片

题目背景

第十三届蓝桥杯青少年组国赛2022年5月C++组第4题

题目描述

小蓝在玩翻卡片游戏,每张卡片一面写着大写字母 "A",另一面写着大写字母 "B"。首先将卡片排成一个 $N*N$ 的矩阵。有的卡片是 A 面朝上,有的卡片是 B 面朝上。 现给定 $N$ 的值,及 $N*N$ 矩阵中每张卡片的状态,请你帮助小蓝挑选一张 B 面的卡,翻转成 A 面,使得翻转后的上、下、左、右四个方向相连的 A 面卡片最多,并将相连最多的卡片数量输出。 例如:$N=3,3*3$ 的矩阵中的卡片状态如下: ![](https://cdn.luogu.com.cn/upload/image_hosting/4xpebv31.png) 选择红框内那张 B 面卡片,翻转为 A 面,可以使翻转后四个方向相连的 A 面卡片最多,为 5 张。 ![](https://cdn.luogu.com.cn/upload/image_hosting/6gii3raw.png)

输入格式

第一行输入一个正整数 $N(2≤N≤50)$,表示矩阵的行数和列数。 第二行开始输入 $N$ 行,每行输入 $N$ 个字符('A' 或者 'B'),表示矩阵中卡片状态,字符之间以一个空格隔开。

输出格式

输出一个整数,表示翻转后矩阵中上、下、左、右四个方向相连的最多 A 面卡片张数。