#5764. 岛屿的周长

岛屿的周长

题目描述

杰克船长经过了很多天的航行,来到了一个神秘的岛屿上,这个岛屿被一片广袤的海洋所包围。他想要计算这个岛屿的周长,但是工具有限,只有一个 row×colrow×col 的网格地图,其中 1 表示陆地,0 表示水域。

他从任意一个陆地格子出发,向 上、下、左、右 四个方向探索。

你需要编写一个算法,计算出岛屿的周长。

岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。

注意,网格的长宽都不超过 100100

输入

第一行输入网格地图的 高 rowrow 与 宽 colcol

下面 row×colrow ×col 行,表示地图信息。

其中 1 表示陆地,0 表示水域。

输出

岛屿的周长。

注:周长是指周边的边的个数之和。

样例

输入复制

1 1
1

输出复制

4

输入复制

4 4
1 1 1 1
1 0 0 1
0 0 0 1
1 1 1 1

输出复制

24

输入复制

4 4
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1

输出复制

16

说明

【样例1解释】

下图所示 1×11×1 区域中的岛屿周长为 44

【样例2解释】

下图所示 4×44 ×4 区域中的岛屿周长为 2424

【样例3解释】

所示 4×44×4 区域中的岛屿周长为 1616

【数据范围】

1row,col1001≤row,col≤100row×colrow×col 中的数值为 0011