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
代码实现
解题思路: