1128 魔幻的象棋


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 32M

Problem types
Allowed languages
C, C++, Java, Python

Description

lily很喜欢下象棋,在初中的时候还拿过全市第2,但是最近有人发明了一种“魔幻象棋”, 于是lily想去挑战一下,看看自己现在的水平怎么样,另他吃惊的是“魔幻象棋“中的所有 棋子的走法都有很大的变换,如“兵”现在是可以走四个方向,“车”现在也可以斜着走了,等等,最让lily感到惊讶的是“马”的走法,以前“马”是跳“日”格的,但是现在的“马” 更灵活了不仅会跳“日”格,而且还会往四个方向前进2格,更不可思意的是,“马”从第一次跳开始的奇数步可能走八个方向“日”格中的一个,偶数步可能走四个方向前进2格中的一个,图画描述如下(K表示“马”所在的位置,O表示“马”在奇偶中分别可跳的位置):

. . O . O . . . . . O . . . . O . . . O . . . . . . . . . . . K . . . . O . K . O . . O . . . O . . . . . . . . . . O . O . . . . . O . . . 奇数步 偶数步

lily要是学会“马”的走法,他很可能会赢别人,因为他特别擅长走“马”,现在的问题是 给定一张R*C(R行,C列,两者均小于等于50)的图,“马”的起始位置和“马”最终要跳的位置,求从起点到终点的最少步数(当然“马”不会跳出界外)。你可以假设从起点一定走得到终点!

Input

输入有多组数据,对于每组数据:第一行是两个整数R和C,第二行也是两个整数表示“马”的起始位置(第一个数是行的位置,第二个数是列的位置),第三行也是两个整数表示“马”最终要跳的位置(第一个数是行的位置,第二个数是列的位置)。

Output

对于每组数据输出一个整数,表示“马”从起点到终点的最少步数。

Sample

Input

4 5
4 1
4 3

Output

3

Source: 2006 UASCO March (modified by lily)


Comments

There are no comments at the moment.