2023OD机试---特殊赛制投篮大赛

特殊赛制投篮大赛

以下内容由题目介绍,输入和输出,用例介绍,代码实现4部分组成。 建议理解解题过程,请勿完全死记硬背代码,不断练习,才能提高编码能力。

题目介绍

【查找单入口空闲区域】
时间限制:1s空间限制:256MB限定语言:不限

题目描述:
给定一个xn的矩阵,由若干字符X’和’O’构成,X表示该处已被占据,'O表示该处空闲,请找到最大的单入
口空闲区域。

解释:
空闲区域是由连通的’O’组成的区域,位于边界的O’可以构成入口,单入口空闲区域即有且只有一个位于边界的O’作
为入口的由连通的O组成的区域。
如果两个元素在水平或垂直方向相邻,则称它们是“连通”的。

输入和输出

【输入描述】
第一行输入为两个数字,第一个数字为行数m,第二个数字列数n,两个数字以空格分隔,1<=m,n<=200,剩余各行为矩阵各行元素,元素为X或’O’,各元素间以空格分隔。

【输出描述】
若有唯一符合要求的最大单入口空闲区域,输出三个数字:
第一个数字为入口行坐标(范围为0~行数-1),
第二个数字为入口列坐标(范围为0~列数-1),
第三个数字为区域大小,三个数字以空格分隔;
若有多个符合要求的最大单入口空闲区域,输出一个数字,代表区域的大小;
若没有,输出NUL。

用例介绍

示例1
【输入】

4 4
X X X X
X O O X
X O O X
X O X X

【输出】

3 1 5

【说明】
存在最大单入口区域,入口行坐标3,列坐标1,区域大小5

示例2
【输入】

4 5
X X X X X
O O O O X
X O O O X
X O X X O

【输出】

3 4 1

【说明】
存在最大单入口区域,入口行坐标3, 列坐标4,区域大小为1

示例3
【输入】

5 4
X X X X
X O O O
X O O O
X O O X
X X X X

【输出】

NULL

【说明】
不存在最大单入口区域

示例4
【输入】

5 4
X X X X
X O O O
X X X X
X O O O
X X X X

【输出】

3

【说明】
存在2个大小为3的最大单入口区域,两个入口横纵坐标分别为1,3和3,3

代码实现

解题思路: