2655 - 机器人(robot)

题目描述

电子信息课程上,老师带着同学们做了一款智能机器人,并为机器人注入了蓝牙控制程序。

蓝牙的另一端,链接到了计算机上,可以通过计算机的 4 个按钮:wsad,分别控制机器人上、下、左、右移动一个格子。

现将机器人放到一个 n \times m 大小的网格中,并在网格中设置了一些障碍。机器人安有红外设备,可以轻松的识别障碍和边界。你给机器人下指令后,机器人识别出如果执行该指令会出网格边界,或者会碰到障碍,机器人会忽略该指令

在网格中,有一个目标点 P,现给定要给机器人执行的指令字符串,请编程计算:

  1. 机器人会走过多少个不同的格子(含起点的第1个格子);

  2. 机器人是否会经过设置好的目标点 P

输入

第一行两个数 nm ,分别表示网格的行数和列数。

接下来 n 行,每行 m 个字符,其中字符a表示机器人的出发位置,字符.表示该点无障碍,字符*表示该点是障碍,字符b表示目标点 P

最后一行,输入一行仅包含wsad四种字符的字符串,字符串长度不超过 5000

输出

1 行输出 1 个整数,表示机器人经过的格子的总数。

2 输出 YES 或者 NO,如果机器人经过了目标点,请输出 YES,如果机器人无法经过目标点,请输出 NO

样例

输入

8 8
.a......
.****...
......*.
.......*
.......*
....b.*.
........
........
asssssdddd

输出

11
YES
说明

【数据范围】

20\% 的数据,n10m10

60\% 的数据,n100m100

100\% 的数据,n2000m2000

用于表示指令的字符串长度 ≤ 5000

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 265
通过人数 90
金币数量 1 枚
难度 入门


上一题 下一题