蓝桥杯青少组C++编程国赛题::翻卡片。
题目描述:
小蓝在玩翻卡片游戏,每张卡片一面写着大写字母"A",另一面写着大写字母“B”。首先将卡片排成一个N*N的矩阵。有的卡片是A面朝上,有的卡片是B面朝上。
现给定N的值,及N*N矩阵中每张卡片的状态,请你帮助小蓝挑选一张B面的卡,翻转成A面,使得翻转后的上、下、左、右四个方向相连的A面卡片最多,并将相连最多的卡片数量输出。
例如:N=3,3*3 的矩阵中的卡片状态如下:
选择红框内那张 B 面卡片,翻转为 A 面,可以使翻转后四个方向相连的 A 面卡片最多,为 5 张。
输入描述:
第一行输入一个正整数 N(2≤N≤50),表示矩阵的行数和列数
第二行开始输入 N 行,每行输入 N 个字符(‘A’或者‘B’),表示矩阵中卡片状态,字符之间以一个空
格隔开
输出描述:
输出一个整数,表示翻转后矩阵中上、下、左、右四个方向相连的最多 A 面卡片张数 样例输入:
3A B B ABA BAB
样例输出:
5