#ATCDP97. 传感器组

传感器组

问题描述

在科技园区的安全监控系统中,有一个由 HHWW 列组成的传感器网格。每个单元格上可能安装了一个传感器(用 # 表示)或者为空(用 . 表示)。为了提高监控的灵敏度,相邻的传感器组件会彼此连接(八个方向:上、下、左、右、左上、右上、左下、右下),形成一个完整的传感器组。

给定该传感器网格,请计算有多少个独立的传感器组存在于园区内。

输入格式

输入包括多行:

  • 第一行包含两个整数 HHWW,表示网格的行数和列数。
  • 接下来的 HH 行,每行是一个长度为 WW 的字符串 SiS_i,表示网格的具体状态。其中 # 表示传感器,. 表示空地。

输出格式

输出一个整数,表示监测网格中独立的传感器组的数量。

5 6
.##...
...#..
....##
#.#...
..#...
3
3 3
#.#
.#.
#.#
1
4 2
..
..
..
..
0
5 47
.#..#..#####..#...#..#####..#...#...###...#####
.#.#...#.......#.#...#......##..#..#...#..#....
.##....#####....#....#####..#.#.#..#......#####
.#.#...#........#....#......#..##..#...#..#....
.#..#..#####....#....#####..#...#...###...#####
7

样例解释

在样例 11 中,传感器连成了以下几个独立的组:

  • 位于 (1,2)(1,2)(1,3)(1,3)(2,4)(2,4)(3,5)(3,5)(3,6)(3,6) 的传感器组成一个组。
  • 位于 (4,1)(4,1) 的传感器是一个单独的组。
  • 位于 (4,3)(4,3)(5,3)(5,3) 的传感器组成一个组。

因此,总共有 33 个独立的传感器组。

数据范围

  • 1H,W10001 \leq H, W \leq 1000
  • 每个字符串 SiS_i 是长度为 WW 由字符 #. 组成。