#GT005. 飞地的数量

飞地的数量

说明

给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格、1 表示一个陆地单元格。

一次 移动 是指从一个陆地单元格走到另一个相邻(上、下、左、右)的陆地单元格或跨过 grid 的边界。

输出网格中 无法 在任意次数的移动中离开网格边界的陆地单元格的数量。

输入格式

第一行两个整数 n 和 m

接下来是一个 n x m 的二进制矩阵 grid

输出格式

一个整数,即网格中 无法 在任意次数的移动中离开网格边界的陆地单元格的数量。

样例

4 4
0 0 0 0
1 0 1 0
0 1 1 0
0 0 0 0
3

提示

样例说明:

解释:有三个 1 被 0 包围。一个 1 没有被包围,因为它在边界上。

数据范围:

1 <= m, n <= 500

grid[i][j] 的值为 0 或 1