‹ 上一题 下一题 ›

j06615. 冲刺·展馆潜行 未做

1000 ms 256 MB 测试点 20 通过率 0% J·算法其他池题广度优先搜索BFS最短步数

题目描述

夜深了,小灯潜入一座 行 列的博物馆展厅,目标是到达隐藏的宝库。每个格子的情况用一个字符表示:

  • . :空地,可以通行;
  • # :封闭的展柜墙,不可通行,并且会挡住视线;
  • v / < / ^ / > :站在原地打瞌睡的保安,分别面朝南、西、北、东。保安本人不可通行;他的视线是一条宽 格的直线,沿面朝方向一直延伸,直到被展柜墙或另一名保安挡住为止;
  • S :小灯所在的入口,可通行,数据保证有且仅有一个,且不在任何保安的视线上;
  • G :宝库大门,可通行,数据保证有且仅有一个,且不在任何保安的视线上。

小灯每步可以向东、西、南、北移动一格,不能走出场地、进入展柜墙或保安所在格。关键是:任何时刻都不能停留在保安的视线范围内(视线是静态的,保安只打瞌睡不转头)。

请问他最少需要多少步到达 G?如果无法到达,输出 -1。

输入格式

第一行两个正整数 和 。

接下来 行,每行一个长度为 的字符串,表示展馆平面图。

输出格式

一行一个整数:最少步数;无法到达输出 -1。

样例

输入
5 7
....Sv.
.>.....
.......
>..<.#<
^G....>
输出
15

数据范围与部分分

对于 的数据,。

测试点 约束 分值
1~4 20
5~10 30
11~20 50
输入
输出

            
答案