/ Vijos / 题库 /

最少转弯

最少转弯

时间限制:1秒  内存限制:256M


【题目描述】

  给出一张地图,这张地图被分成 \(n×n\) 个方块,任何不是平地就是高山。平地可以通过,高山则不能。你在这张地图上行走时,只能沿水平方向和垂直方向行进。
说明
  现在给出这张地图的构成,请你计算从出发方块到目标方块需要的最少拐弯次数。拐弯次数等于行进方向的改变次数。例如下图的行进路线,拐弯次数为 5。

【输入格式】

  第 1 行为整数 \(n\),表示地图的尺寸。
  接下来的 \(n\) 行,每行包含 \(n\) 个字符,第 \(i\) 行第 \(j\) 列的字符为".",表示该格子为平地,若为"x",表示该格子为高山,若为"A",表示你的起点,若为"B",表示你的终点,字符间用一个空格分开。
  注意,保证输入合法,且只有一个"A"和一个"B"出现在地图中。

【输出格式】

  一个整数,表示从 A 到 B 的最少的拐弯次数,如果 A 到 B 没有路径,则输出-1。

【输入输出样例】

 Input

7
x . A . . x B
. . x . x . .
. . . . x . x
. x x . . . .
. . . . x x .
. . . . . . .
x x . . x . .

 Output

5

【数据限制】

  对于 \(100\%\) 的数据,\(1≤n≤100\)。

【来源】

  Mr.he

信息

ID
2060
难度
(无)
分类
图结构 | 最短路 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
被复制
3
上传者