#6675. 网格最短路径

网格最短路径

题面:网格最短路径

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

给定一个 nm 列的网格。

你现在位于起点 (sx, sy),需要移动到终点 (ex, ey)

每一步可以向上、下、左、右四个方向之一移动一格,不能走出网格。

请你计算从起点到终点至少需要走多少步。

输入格式

第一行包含两个整数 n, m

第二行包含两个整数 sx, sy,表示起点坐标。

第三行包含两个整数 ex, ey,表示终点坐标。

输出格式

输出一个整数,表示从起点到终点的最少步数。

数据范围

1 <= n, m <= 20
1 <= sx, ex <= n
1 <= sy, ey <= m

样例

输入

2 2
1 1
2 2

输出

2

说明

一种最短走法是:

(1, 1) -> (1, 2) -> (2, 2)

共走了 2 步。

测试点说明表

测试点编号 n, m ≤ 特殊性质 设计目的
1 起点等于终点 覆盖答案为 0 的边界
2 5 单行网格 覆盖只能横向移动的情况
3 2 原程序规模 对应原程序固定数据,答案为 2
4 3 起点等于终点 检查中间位置的 0 步情况
5 4 从左上到右下 覆盖普通小网格
6 5 从右下到左上 检查方向数组四个方向是否完整
7 起终点均不在角落 覆盖一般位置
8 对角远距离 覆盖较长路径
9 10 中等规模 覆盖普通大一点的网格
10 20 最大规模 覆盖极限距离和较深搜索