#P3300. 第3题-无线网络设备覆盖区域数量

第3题-无线网络设备覆盖区域数量

题目内容

你负责一个大型办公园区的无线网络部署。园区可以视作一个 mnm*n 的网格,每个网格位置可以放置个无线接入点。每个无线接入点可以覆盖其所在位置。如果两个无线接入点的覆盖区域相连,则它们构成一个子网(一个接入点的上下左右、上左、上右、下左、下右如果有其他接入点则认为相连构成子网),现在需要通过光纤将不同的子网俩俩相连。

你的任务是计算所有子网俩俩相连需要多少条光纤链路(如 ABCA、B、C 三个子网应该建立 ABACBCAB、AC、BC 三条链路)

输入描述

第一行:两个整数 mmnn ,分别表示网格的行数和列数 (1m,n<2000)(1≤m,n<2000)

接下来的 mm 行,每行有 nn 个整数 0011 ,表示网格中每个位置的状态

11:表示该位置放置了无线接入点

00:表示该位置未放置无线接入点

输出描述

输出一个整数,表示所有子网俩俩相连需要的光纤链路数量

样例1

输入

4 5
1 1 0 0 0
0 0 0 0 0
0 0 1 1 0
0 0 0 1 0

输出

1

说明

网格中有两个子网:

第一个区域由位置 (0,0)(0,0)(1,0)(1,0) 等组成,属于同一个子网。

第二个区域由位置 (2,2)(2,3)(3,3)(2,2)、(2,3)、(3,3) 等组成,属于另一个子网

故使用一个链路可以达成俩俩相连的目标

样例2

输入

2 2
1 0
0 1

输出

0

说明

网格中有一个子网:

由位置 (0,0)(0,0)(1,1)(1,1) 等组成,属于同一个子网。

一个子网不需要使用光纤连接故结果为 00