#Q1034. 强制位移地块
强制位移地块
题目背景
阿布是一个勇敢的冒险者,他正挑战一款最新的沙盒冒险游戏。在游戏中,有一种非常奇特的地块,站上去后会触发强制位移的效果。地块会按照以下规则让阿布移动:
w
—— 强制向上位移一格(阿布感觉像被弹簧弹起)。a
—— 强制向左位移一格(阿布像被旋风刮向左边)。s
—— 强制向下位移一格(阿布像被推了一把)。d
—— 强制向右位移一格(阿布仿佛被重力吸引)。p
—— 停止不动(阿布可以在这停下,好好休息一下)。
地图的四周被围墙包围,这些围墙也是很好的障碍物来使得阿布停下。若阿布移动撞到了围墙,当前地块的强制位移效果将失效,阿布停在围墙前的安全位置。
你的任务是根据初始位置和地图地块的规则,模拟阿布的移动过程,并输出他最终停留的位置。
输入要求
- 第一行输入两个正整数和,表示地图的行数和列数。
- 接下来输入一个 的字符矩阵,矩阵中的每个元素均为
w
、a
、s
、d
、p
之一,代表地图。 - 最后一行输入两个正整数和,表示阿布的初始位置。
输出要求
输出两个整数,表示阿布强制位移后的最终停下来的位置的行号和列号(从开始计数)。
但如果阿布强制位移超过10000次还没停下来,则输出-1
。
样例
4 5
wasdp
swpad
aswsa
dpaaw
2 3
3 1
5 3
was
swp
asw
dpa
wds
1 1
0 0
3 5
wadsp
swpda
aswds
0 2
-1
样例说明
样例1
阿布初始位置为,该地块为s
,强制向下位移一格;
到达,该地块为a
,强制向左位移一格;
到达,该地块为a
,强制向左位移一格;
到达,该地块为p
,结束位移,阿布最终停留在。
样例2
阿布初始位置为,该地块为w
,强制向上位移一格;
到达,该地块为a
,强制向左位移一格;
到达,该地块为w
,强制向上位移一格,但是上方是围墙,位移失败,停留在这一格,所以阿布最终停留在。
样例3
阿布初始位置为,该地块为d
,强制向右位移一格;
到达,该地块为s
,强制向下位移一格;
到达,该地块为d
,强制向右位移一格;
到达,该地块为a
,强制向左位移一格;
到达,该地块为d
,强制向右位移一格;
到达,该地块为a
,强制向左位移一格;
... ...
从此阿布陷入到再到的无尽循环,无法逃脱,输出-1
。