AT_abc341_c [ABC341C] Takahashi Gets Lost

题目描述

有一个 $H$ 行 $W$ 列的网格。 网格中的每个格子要么是**陆地**,要么是**海洋**,这些信息由 $H$ 个长度为 $W$ 的字符串 $S_1,\ S_2,\ \ldots,\ S_H$ 给出。用 $(i,\ j)$ 表示从上到下第 $i$ 行、从左到右第 $j$ 列的格子,当 $S_i$ 的第 $j$ 个字符为 `.` 时,格子 $(i,\ j)$ 是陆地;为 `#` 时,格子 $(i,\ j)$ 是海洋。 这里保证网格的外周格子(即满足 $i=1$、$i=H$、$j=1$、$j=W$ 中至少一个条件的格子 $(i,\ j)$)全部都是海洋。 高桥君乘坐的宇宙飞船在网格上的某个格子紧急降落。之后,高桥君按照只包含 `L`、`R`、`U`、`D` 的长度为 $N$ 的字符串 $T$ 所描述的操作,在网格上移动了 $N$ 次。对于 $i=1,2,\ldots,N$,$T$ 的第 $i$ 个字符表示第 $i$ 次移动的内容,具体如下: - `L` 表示向左移动 $1$ 格。即,若移动前在 $(i, j)$,则移动后在 $(i, j-1)$。 - `R` 表示向右移动 $1$ 格。即,若移动前在 $(i, j)$,则移动后在 $(i, j+1)$。 - `U` 表示向上移动 $1$ 格。即,若移动前在 $(i, j)$,则移动后在 $(i-1, j)$。 - `D` 表示向下移动 $1$ 格。即,若移动前在 $(i, j)$,则移动后在 $(i+1, j)$。 已知高桥君移动路径上的所有格子(包括降落点和当前所在格子)都不是海洋。请输出高桥君当前可能所在的格子的个数。

输入格式

输入按以下格式从标准输入中给出。 > $H$ $W$ $N$ > $T$ > $S_1$ > $S_2$ > $\vdots$ > $S_H$

输出格式

请输出答案。

说明/提示

### 限制条件 - $H,\ W,\ N$ 为整数。 - $3 \leq H,\ W \leq 500$。 - $1 \leq N \leq 500$。 - $T$ 是只包含 `L`、`R`、`U`、`D` 的长度为 $N$ 的字符串。 - $S_i$ 是只包含 `.` 和 `#` 的长度为 $W$ 的字符串。 - 至少存在 $1$ 个格子可能是高桥君当前所在的位置。 - 网格的外周格子全部是海洋。 ### 样例解释 1 由于存在以下两种情况,高桥君当前可能所在的格子为 $(3,4)$ 和 $(4,5)$,共 $2$ 个。 - 在 $(3,5)$ 降落,移动路径为 $(3,5) \rightarrow (3,4) \rightarrow (2,4) \rightarrow (2,3) \rightarrow (3,3) \rightarrow (3,4)$。 - 在 $(4,6)$ 降落,移动路径为 $(4,6) \rightarrow (4,5) \rightarrow (3,5) \rightarrow (3,4) \rightarrow (4,4) \rightarrow (4,5)$。 由 ChatGPT 4.1 翻译