AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3499. 图像物体的边界

中等通过率 55% · 提交 299 · 通过 164
DFSBFS图论模拟DFS/BFS

小慕正在处理一个图像分割项目,他有一张由二维数组表示的图片,数组有M行N列。图片中的每个像素值要么是1,要么是5,分别代表两种不同的物体。小慕需要找出像素值为1的物体的个数。边界定义为:如果一个像素值为1的格子,其相邻的格子中存在像素值为5的格子,那么这个的格子就属于边界。相邻的边界格子如果彼此相连,则算作同一个边界。相邻的判断需要考虑8个方向:上、下、左、右、左上、左下、右上、右下。 其他约束: 地图规格满足: 0 < M < 100 0 < N < 100

提示:带虚线的词点一下有通俗解释。

输入描述

<p> 第一行,行数M,列数N </p> <p> 第二行开始,是M行N列的像素的二维数组,仅包含像素1和5 </p>

输出描述

像素1代表的物体的边界个数。如果没有边界输出0(比如只存在像素1,或者只存在像素5)

示例

示例 1

输入

6 6
1 1 1 1 1 1
1 5 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 5

输出

2

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
151515151边界边界边界
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「图像物体的边界」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。