AT_abc325_c [ABC325C] Sensors
题目描述
在一个 $H$ 行 $W$ 列的网格上,放置了 $0$ 个或更多的传感器。我们用 $(i, j)$ 表示从上往下第 $i$ 行、从左往右第 $j$ 列的格子。
每个放有传感器的格子的信息由长度为 $W$ 的字符串 $S_1, S_2, \ldots, S_H$ 给出,$S_i$ 的第 $j$ 个字符为 `#` 时,且仅当此时,$(i, j)$ 处放有传感器。
这些传感器会与上下左右及斜对角相邻格子上的其他传感器联动,并作为一个整体传感器工作。
这里,格子 $(x, y)$ 与格子 $(x', y')$ 上下左右或斜对角相邻,指的是 $\max(|x-x'|, |y-y'|) = 1$。
另外需要注意,如果传感器 $A$ 与传感器 $B$ 联动,且传感器 $A$ 与传感器 $C$ 联动,则传感器 $B$ 与传感器 $C$ 也会联动。
请计算将所有联动的传感器视为一个整体后,这个网格上有多少个传感器。
输入格式
输入按以下格式从标准输入读入。
> $H$ $W$
> $S_1$
> $S_2$
> $\vdots$
> $S_H$
输出格式
请输出答案。
说明/提示
### 限制条件
- $1 \leq H, W \leq 1000$
- $H, W$ 为整数
- $S_i$ 是长度为 $W$ 的字符串,每个字符为 `#` 或 `.`
### 样例解释 1
将联动的传感器视为一个整体后,存在以下 $3$ 个传感器:
- $(1,2),(1,3),(2,4),(3,5),(3,6)$ 处的传感器联动为一个整体
- $(4,1)$ 处的传感器
- $(4,3),(5,3)$ 处的传感器联动为一个整体
由 ChatGPT 4.1 翻译