当前位置:首页|资讯

牛客 璐神看岛屿

作者:您是打尖儿还是住店呢发布时间:2024-10-21

链接:https://ac.nowcoder.com/acm/problem/14408
来源:牛客网

题目描述                    

璐神现在有张n*m大小的地图,地图上标明了陆地(用"#"表示)和海洋(用"."表示),现在璐神要计算这张地图上岛屿的数量。

已知岛屿是由陆地的连通块组成,即一块陆地的上、下、左、右,左上,右上,左下,右下有其他陆地,则构成连通块,以此类推。

此外,岛屿的详细定义如下:

1、岛屿的周围必须全是海洋。

2、如果连通块有任意区域在地图边界,则该连通块不是岛屿

输入描述:

第1行输入两个整数n,m,代表地图的长和宽。
第2-n+1行,每行输入m个字符,字符为"#"表示陆地,为"."表示海洋。
数据保证:0<n,m≤200

                                                                           

输出描述:

输出一行整数,代表岛屿的数量。

                                                                           

示例1

输入

3 3 

... 

.#. 

...

                               

输出

1

                               

说明

只有中间的1块陆地是岛屿,所以岛屿数=1

                                   

示例2

输入

3 3 

#.. 

.#. 

...

                               

输出

0

                               

说明

中间的连通块有区域在边界,所以不是岛屿,岛屿数=0。

-------

考虑边界,需要先将边界的陆地不是岛屿的进行更新了,然后再遍历是岛屿的部分,2个步骤都可以用dfs来做。至少现在稍微会点dfs了。



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1