题目描述
夜深了,小灯潜入一座 行 列的博物馆展厅,目标是到达隐藏的宝库。每个格子的情况用一个字符表示:
.:空地,可以通行;#:封闭的展柜墙,不可通行,并且会挡住视线;v/</^/>:站在原地打瞌睡的保安,分别面朝南、西、北、东。保安本人不可通行;他的视线是一条宽 格的直线,沿面朝方向一直延伸,直到被展柜墙或另一名保安挡住为止;S:小灯所在的入口,可通行,数据保证有且仅有一个,且不在任何保安的视线上;G:宝库大门,可通行,数据保证有且仅有一个,且不在任何保安的视线上。
小灯每步可以向东、西、南、北移动一格,不能走出场地、进入展柜墙或保安所在格。关键是:任何时刻都不能停留在保安的视线范围内(视线是静态的,保安只打瞌睡不转头)。
请问他最少需要多少步到达 G?如果无法到达,输出 -1。
输入格式
第一行两个正整数 和 。
接下来 行,每行一个长度为 的字符串,表示展馆平面图。
输出格式
一行一个整数:最少步数;无法到达输出 -1。
样例
输入
5 7 ....Sv. .>..... ....... >..<.#< ^G....>
输出
15
输入
4 3 S.. .<. .>. ..G
输出
-1
数据范围与部分分
对于 的数据,。
| 测试点 | 约束 | 分值 |
|---|---|---|
| 1~4 | 20 | |
| 5~10 | 30 | |
| 11~20 | 50 |