zbc的业余爱好就是下象棋,他不仅会下中国象棋,还会下国际象棋。他发现中国象棋和国际象棋虽然都有"马"这个棋子,但走的规则却不太一样。
国际象棋的"马"可以走"日"字,也就是说每一步只可以水平或垂直移动一点,再按对角线方面向左或者右移动(另一种解释,可以先在水平/竖直方向走两格,然后在竖直/水平方向走一格)。另外,马不允许跳出界外,也即必须跳完一步之后仍在棋盘上。如图所示:
中国象棋的"马"的走法也是走日字,在没有障碍物的情况下,其走法与国际象棋一样。唯一不同的是,如果马走了一格就遇到障碍物,马就不能继续向这个方向前进了(又称为"马脚")。如图所示,左上角的马因为没有障碍物,可以走八个方向,而右下角的马由于正上方有一个其他棋子,因此就不能往上方的两个方向跳了。
zbc想比较一下两种马的差异,他找来了一个n行m列的大棋盘,行和列都从1开始编号。这个棋盘上已经有若干个其他棋子,马在行进的过程中不能走到这些有棋子的格子上。为了方便比较起见,假定所有棋子都在格子内部(本来中国象棋的子是放在交线上的)。zbc先在a行b列放上国际象棋的马,算了一下它到c行d列最快要几步;又在同样的a行b列放上中国象棋的马,算了一下它到c行d列最快要几步。显然,这么手工计算很容易出错,因此zbc想请你帮忙用程序算一下。