#P6012. 迷宫(最少步数)

迷宫(最少步数)

Description

给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问每个方格最多经过1次。在迷宫中移动有上下左右四种方式。保证起点上没有障碍。问从起点到终点的最短路径长度。

如果不存在起点到终点的路径则就输出-1。

Input Format

第一行N、M和T,N为行,M为列,T为障碍总数。

第二行起点坐标SX,SY,终点坐标FX,FY。

接下来T行,每行为障碍的坐标。

Output Format

如果存在解答则:

输出最短路径的长度K(起点终点也算在步数内)

否则输出-1

Sample

输入样例#1:

2 2 1
1 1 2 2
1 2

输出样例#1:

3

Hint

对于 45% 的数据,1<=N, M<=3;

对于 90% 的数据,1<=N, M<=5;

对于 100% 的数据,1<=N, M<=1000。