#aBC197B. [ABC197B] Visibility

[ABC197B] Visibility

AT_abc197_b [ABC197B] Visibility

题目描述

有一个纵向 HH 行、横向 WW 列的网格,其中一些格子上放置了障碍物。
我们用 (i,j)(i, j) 表示从上往下第 ii 行、从左往右第 jj 列的格子。
给定 HH 个字符串 S1,S2,S3,,SHS_1, S_2, S_3, \dots, S_H,其中 SiS_i 的第 jj 个字符表示格子 (i,j)(i, j) 的状态,若为 # 表示该格子上有障碍物,若为 . 表示没有障碍物。
在这个网格上,如果两个格子在同一行或同一列,并且它们之间(包括这两个格子本身)没有任何障碍物,则称这两个格子是可见的。
请你求出,从格子 (X,Y)(X, Y) 出发,能够看见的格子的数量(包括格子 (X,Y)(X, Y) 本身)。

输入格式

输入按以下格式从标准输入中给出。

HH WW XX YY
S1S_1
S2S_2
S3S_3
\vdots
SHS_H

输出格式

请输出答案。

输入输出样例 #1

输入 #1

4 4 2 2
##..
...#
#.#.
.#.#

输出 #1

4

输入输出样例 #2

输入 #2

3 5 1 4
#....
#####
....#

输出 #2

4

输入输出样例 #3

输入 #3

5 5 4 2
.#..#
#.###
##...
#..#.
#.###

输出 #3

3

说明/提示

限制条件

  • 1H1001 \leq H \leq 100
  • 1W1001 \leq W \leq 100
  • 1XH1 \leq X \leq H
  • 1YW1 \leq Y \leq W
  • SiS_i 是仅由 .# 组成的长度为 WW 的字符串
  • 格子 (X,Y)(X, Y) 上没有障碍物

样例解释 1

下图为从格子 (2,2)(2, 2) 能看到的格子:

  • 格子 (2,1)(2, 1)
  • 格子 (2,2)(2, 2)
  • 格子 (2,3)(2, 3)
  • 格子 (3,2)(3, 2)

样例解释 2

即使在同一行或同一列,如果中间有障碍物,则无法看到该格子。

由 ChatGPT 4.1 翻译