#914. 网格行走
网格行走
题目描述
给定一个 行 列的网格。记从上往下数第 行、从左往右数第 列的格子为 。
网格中格子的状态由字符 表示:如果 为 .,则该格子为空地;如果 为 #,则该格子为障碍物。
高桥君目前位于格子 ,他将按照字符串 中的字符顺序,依次执行以下规则的移动(共 次):
- 若当前字符为
L,且当前格子左侧存在格子且为空地,则移动到左侧格子;否则留在当前格子。 - 若当前字符为
R,且当前格子右侧存在格子且为空地,则移动到右侧格子;否则留在当前格子。 - 若当前字符为
U,且当前格子上方存在格子且为空地,则移动到上方格子;否则留在当前格子。 - 若当前字符为
D,且当前格子下方存在格子且为空地,则移动到下方格子;否则留在当前格子。
请输出高桥君执行完所有动作后所在的格子坐标。
输入格式
第一行包含两个正整数 —— 表示网格的行数和列数。
第二行包含两个正整数 —— 表示高桥君的初始位置。
接下来 行,每行包含一个长度为 的字符串,表示网格的状态。
最后一行包含一个长度在 到 之间的字符串 —— 表示动作序列。
输出格式
输出两个整数 和 ,中间用空格隔开,表示高桥君最终所在的格子坐标 。
样例输入 1
2 3
2 1
.#.
...
ULDRU
样例输出 1
2 2
样例输入 2
4 4
4 2
....
.#..
...#
....
DUUUURULRD
样例输出 2
2 4
样例输入 3
6 6
1 1
.#####
######
######
######
######
######
RURLDLULLRULRDL
样例输出 3
1 1
说明
样例解释
在第一个样例中,高桥君起始位置为 ,动作序列执行过程如下:
- 第 个字符
U,上方存在空格子 ,移动到 。 - 第 个字符
L,左侧不存在格子,留在 。 - 第 个字符
D,下方存在空格子 ,移动到 。 - 第 个字符
R,右侧存在空格子 ,移动到 。 - 第 个字符
U,上方存在格子但不是空地,留在 。 最终高桥君位于 。
数据范围
对于所有测试点,保证 :
- ,
- ,
- 保证
.。 - 保证 是一个长度在 到 之间的字符串,仅由
L,R,U,D组成。 - 保证所有的输入值均为整数。