#394. [CZOI2014 A] 国王

[CZOI2014 A] 国王

问题描述

小T自幼学习中国象棋,小学时曾荣获龙城小学象棋比赛冠军,他对中国象棋情有独钟,外出参加信息学夏令营等活动时都要随身携带一副中国象棋,一有空就会摆开棋跟小伙伴们杀上几盘。自从在小学编程班上听了国际象棋的起源传说后,小T又对神秘的国际象棋产生了浓厚兴趣,由于学习任务繁重并且课余时间还要用来编写程序,小T一直没有机会学习国际象棋,前不久小T通过自主招生提前考上了心仪已久的CZ中学创新实验班,一举摆脱了中考的烦恼,自主招生面试一结束小T立马到龙城棋院买了一副国际象棋,一进家门就迫不及待地摆开了,小T首先学习的是国王的走法,国际象棋棋盘由 8888 列的 6464 个方格组成,如下图中的左图所示,棋子是放在方格中的,这一点跟中国象棋有着很大的区别,国王可移动至八个邻近方格中的任意一个,如下图中的右图所示,只要不掉到棋盘外面即可,图中的黑色实心圆代表国王,八个白色的空心圆代表国王一步能走到的位置。小T想知道国王从棋盘上的一个格子到达另一个格子至少需要走几步?

输入格式

输入数据共有两行,每行包含两个用空格隔开的不超过 88 的正整数,第一行的两个数 R1,C1R_1,C_1 表示国王初始时的位置在第 R1R_1 行第 C1C_1 列,第二行的两个数 R2R_2,C2C_2 表示国王要走到的目标位置在第 R2R_2 行第 C2C_2 列。

输出格式

输出数据仅有一行包含一个整数表示国王从棋盘上的初始位置走到目标位置至少需要走几步?

输入输出样例

1 2
8 8
7

样例解释

样例中国王(上图中用“王”表示)初始时在棋盘上的第 11 行第 22 列,要走到棋盘右下角的方格即第 88 行第 88 列,小T只要第一步将国王向下移一格走到第 22 行第 22 列,然后一直沿斜线向右下方向连续走 66 步即可到达目标位置,图中将国王走过的位置用 171\sim 7 依次标出来了,总共需要走 77 步,可以验证其它走法都不可能少于 77 步。

数据范围

20%20\% 的数据满足:国王的初始位置和目标位置在同一行或同一列

30%30\% 的数据满足:R1R2C1C2R_1<R_2,C_1<C_2

100%100\% 的数据满足:1R1,R2,C1,C281\leq R_1,R_2,C_1,C_2\leq 8