已结束 GESP马上AK赛

A7204 | 寻找小马

时间限制1s
内存限制128MB
通过 / 提交0/0

题目描述

高贵的马儿可以驱除体内的一切外力。


传说中蕴含强大力量的马符咒失落在一张古老的地图里。皓仔决定出发寻找它。

地图可以看作一个由字符组成的二维网格。皓仔的起点坐标为 $(a,b)$,马符咒的位置为 $(c,d)$。网格中有一些障碍物,皓仔无法进入障碍物所在的格子。

皓仔手上有一份流传下来的路线指令。每条指令由一个方向字符和一个步数组成:方向字符为 LRUD 之一,代表向上,下,左,右,四个方向进行移动,步数为一个正整数。

皓仔会按顺序执行这些移动指令。执行一条指令(方向为 $dir$,步数为 $k$)的规则如下:

- 皓仔尝试在方向 $dir$ 上移动最多 $k$ 步;
- 如果下一步会走出地图边界,或进入障碍物 #,则本条指令会提前结束,皓仔停在当前格子;
- 如果在任意时刻(包括执行指令的中途或结束后),皓仔到达马符咒所在位置 $(c,d)$,则视为成功到达。

请你判断皓仔是否能够到达马符咒的位置,输出 YESNO

输入格式

第一行输入两个整数 $n,m$,表示地图有 $n$ 行 $m$ 列。

接下来 $n$ 行,每行一个长度为 $m$ 的字符串,表示地图:

- . 表示空地
- # 表示障碍物

接下来一行输入四个整数 $a,b,c,d$,分别表示起点坐标与马符咒坐标(均为$0$开始的行列坐标)。

下一行输入一个整数 $q$,表示路线指令条数。

接下来 $q$ 行,每行输入一个方向字符 $dir$ 和一个整数 $k$,表示一条移动指令。

输出格式

如果皓仔能够到达马符咒的位置,输出一行 YES;否则输出一行 NO

输入输出样例

输入 #1
5 6
..#...
......
##..#.
......
...#..
0 0 3 5
4
R 10
D 3
R 10
U 1
输出 #1
NO
输入 #2
3 3
...
.#.
...
0 0 2 2
4
R 2
D 2
R 2
D 2
输出 #2
YES
C++ 编辑器
输入
输出