AT_abc197_b [ABC197B] Visibility
题目描述
有一个纵向 $H$ 行、横向 $W$ 列的网格,其中一些格子上放置了障碍物。
我们用 $(i, j)$ 表示从上往下第 $i$ 行、从左往右第 $j$ 列的格子。
给定 $H$ 个字符串 $S_1, S_2, S_3, \dots, S_H$,其中 $S_i$ 的第 $j$ 个字符表示格子 $(i, j)$ 的状态,若为 `#` 表示该格子上有障碍物,若为 `.` 表示没有障碍物。
在这个网格上,如果两个格子在同一行或同一列,并且它们之间(包括这两个格子本身)没有任何障碍物,则称这两个格子是**可见**的。
请你求出,从格子 $(X, Y)$ 出发,能够**看见**的格子的数量(包括格子 $(X, Y)$ 本身)。
输入格式
输入按以下格式从标准输入中给出。
> $H$ $W$ $X$ $Y$
> $S_1$
> $S_2$
> $S_3$
> $\vdots$
> $S_H$
输出格式
请输出答案。
说明/提示
## 限制条件
- $1 \leq H \leq 100$
- $1 \leq W \leq 100$
- $1 \leq X \leq H$
- $1 \leq Y \leq W$
- $S_i$ 是仅由 `.` 和 `#` 组成的长度为 $W$ 的字符串
- 格子 $(X, Y)$ 上没有障碍物
## 样例解释 1
下图为从格子 $(2, 2)$ 能看到的格子:
- 格子 $(2, 1)$
- 格子 $(2, 2)$
- 格子 $(2, 3)$
- 格子 $(3, 2)$
## 样例解释 2
即使在同一行或同一列,如果中间有障碍物,则无法看到该格子。
由 ChatGPT 4.1 翻译