A104186.寻找小马
普及-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
高贵的马儿可以驱除体内的一切外力。
传说中蕴含强大力量的马符咒失落在一张古老的地图里。皓仔决定出发寻找它。
地图可以看作一个由字符组成的二维网格。皓仔的起点坐标为 (a,b),马符咒的位置为 (c,d)。网格中有一些障碍物,皓仔无法进入障碍物所在的格子。
皓仔手上有一份流传下来的路线指令。每条指令由一个方向字符和一个步数组成:方向字符为 L、R、U、D 之一,代表向上,下,左,右,四个方向进行移动,步数为一个正整数。
皓仔会按顺序执行这些移动指令。执行一条指令(方向为 dir,步数为 k)的规则如下:
- 皓仔尝试在方向 dir 上移动最多 k 步;
- 如果下一步会走出地图边界,或进入障碍物
#,则本条指令会提前结束,皓仔停在当前格子; - 如果在任意时刻(包括执行指令的中途或结束后),皓仔到达马符咒所在位置 (c,d),则视为成功到达。
请你判断皓仔是否能够到达马符咒的位置,输出 YES 或 NO。
输入格式
第一行输入两个整数 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
说明/提示
【数据范围】
对于所有测试数据保证:
- 1≤n,m≤2000
- 0≤a,c<n,0≤b,d<m
- 1≤q≤2×105
- 每条指令步数 1≤k≤109
- 保证所有指令步数之和不超过 5×106
- 保证起点和马符咒位置都不在障碍物上(对应格子一定是
.)