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 翻译