AT_abc364_b [ABC364B] Grid Walk

题目描述

有一个 $H$ 行 $W$ 列的网格。网格中从上往下第 $i$ 行、从左往右第 $j$ 列的格子记作格子 $(i,\,j)$。 当 $C_{i,\,j}$ 为 `.` 时,格子 $(i,\,j)$ 是空格子;为 `#` 时,则不是空格子。 高桥君现在位于格子 $(S_i,\,S_j)$,他会按照 $i=1,2,\ldots,|X|$ 的顺序,依次按照以下规则行动: - 如果 $X$ 的第 $i$ 个字符为 `L`,且当前格子的左边有格子且该格子为空,则向左移动一格,否则留在原地。 - 如果 $X$ 的第 $i$ 个字符为 `R`,且当前格子的右边有格子且该格子为空,则向右移动一格,否则留在原地。 - 如果 $X$ 的第 $i$ 个字符为 `U`,且当前格子的上方有格子且该格子为空,则向上移动一格,否则留在原地。 - 如果 $X$ 的第 $i$ 个字符为 `D`,且当前格子的下方有格子且该格子为空,则向下移动一格,否则留在原地。 请输出高桥君完成所有行动后所在的格子 $(x,\,y)$,输出 $x$ 和 $y$,用空格分隔。

输入格式

输入按以下格式从标准输入给出。 > $H$ $W$ $S_i$ $S_j$ > $C_{1,\,1}$ $C_{1,\,2}$ $\ldots$ $C_{1,\,W}$ > $C_{2,\,1}$ $C_{2,\,2}$ $\ldots$ $C_{2,\,W}$ > $\vdots$ > $C_{H,\,1}$ $C_{H,\,2}$ $\ldots$ $C_{H,\,W}$ > $X$

输出格式

请输出高桥君完成所有行动后所在的格子 $(x,\,y)$,输出 $x$ 和 $y$,用空格分隔。

说明/提示

### 限制条件 - $1 \leq H, W \leq 50$ - $1 \leq S_i \leq H$ - $1 \leq S_j \leq W$ - $H, W, S_i, S_j$ 均为整数 - $C_{i,\,j}$ 只会是 `.` 或 `#` - $C_{S_i,\,S_j} = .$ - $X$ 是由 `L`、`R`、`U`、`D` 组成的字符串,长度不少于 $1$ 且不超过 $50$ ### 样例解释 1 高桥君一开始在格子 $(2,\,1)$。他的行动如下: - $X$ 的第 $1$ 个字符是 `U`,$(2,\,1)$ 的上方有格子且为空,因此移动到 $(1,\,1)$。 - $X$ 的第 $2$ 个字符是 `L`,$(1,\,1)$ 的左边没有格子,因此留在 $(1,\,1)$。 - $X$ 的第 $3$ 个字符是 `D`,$(1,\,1)$ 的下方有格子且为空,因此移动到 $(2,\,1)$。 - $X$ 的第 $4$ 个字符是 `R`,$(2,\,1)$ 的右边有格子且为空,因此移动到 $(2,\,2)$。 - $X$ 的第 $5$ 个字符是 `U`,$(2,\,2)$ 的上方有格子但不是空格子,因此留在 $(2,\,2)$。 因此,完成所有行动后高桥君在格子 $(2,\,2)$。 由 ChatGPT 4.1 翻译