Bessie正在学习如何下象棋。棋盘有P行P列。行和列编号都是0至P-1。
我们可以使用其两个坐标值来描述每个单元格:(r,c)。
Bessie最近了解到其中一个棋子:教主。教主每次的移动方式非常特殊。
不妨假设教主当前所在位置是单元格(r,c),则1次移动可到达的所有单元格包括:
1、(r + k,c + k)形式的所有单元格,其中k是正整数。
2、(r + k,c - k)形式的所有单元格,其中k是正整数。
3、(r - k,c + k)形式的所有单元格,其中k是正整数。
4、(r - k,c - k)形式的所有单元格,其中k是正整数。
当然,教主必须始终在棋盘内,不能走到棋盘外面。
现在Bessie拿来了一个空的棋盘,他把一个教主放在格子(r1,c1)。
他现在想要使用尽可能少的移动将其移动到单元格(r2,c2),请输出最小的移动次数。
如果教主不可能到达目标单元格,则返回-1。
8 4 6 7 3
1