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