1334 蛇形走位 | OJ题库 | CODE STUDY
CODE STUDY
Programming Practice Platform

欢迎回来

1334

蛇形走位

Easy 时间限制 1000 ms 内存限制 262144 KB
None

题目详情

返回题库

题目描述

众所周知在吃鸡游戏中,蛇形移动更容易躲避敌方的攻击。崔老师正在玩吃鸡游戏,请你帮崔老师计算一下是否能按照蛇形走位的方法从初始位置安全移动到目标位置。

给定一个 $ n \times m $ 的矩阵,矩阵中可行的路记作.不可行的位置记作#,初始位置在S,目标位置为G

  • 如果上一次上下走动,那么这次只能左右走动;
  • 如果上一次左右走动,那么这次只能上下走动;

问最少多少步可以从初始位置S走到目标G。

输入描述

第一行:n,m ($ n,m \leq 1000 $)

接下来n行字符串,只包含.,#,S,G

输出描述

按照蛇形走位的方法,从S走到G最少需要多少步?

如果没有合适的方案,输出-1

提示

样例1:

222.png

如第一个图 你可以(1,2)→(2,2)→(2,3)→(3,3)→(3,4)→(2,4)→(2,5)→(1,5) 最少7步从初始点到达目标位置

你不能连续水平或者垂直移动,如第二图是错误的行走方法

测试样例

样例支持多行内容展示
样例1
输入
3 5
.S#.G
.....
.#...
输出
7
样例2
输入
3 5
..#.G
.....
S#...
输出
-1
样例3
输入
8 63
...............................................................
..S...#............................#####..#####..#####..####G..
..#...#................................#..#...#......#..#......
..#####..####...####..####..#..#...#####..#...#..#####..#####..
..#...#..#..#...#..#..#..#..#..#...#......#...#..#..........#..
..#...#..#####..####..####..####...#####..#####..#####..#####..
................#.....#........#...............................
................#.....#........#...............................
输出
148
editor.py

提交前会先自动运行样例。只有样例全部通过,才会进入后端正式判题。