#P2928. Rook, Bishop and King

Rook, Bishop and King

题目描述

Petya 正在学习国际象棋。他已经学会如何移动王、车和象。让我们提示你如何移动国象棋子。棋盘有 6464 个棋格,呈 8×88\times8 正方形。一个格子可以用 (r,c)(r,c) 来表示,rr 指行,cc 指列(虽然在经典棋局中用字母和数字一起表示)。每一个棋子占用一个棋格。一次合法的棋步就是执行如下之一:

  • 车可以横向或纵向移动任意格。
  • 象可以斜着移动任意格。
  • 王可以任意方向移动一格——横着或者斜着。

Petya 在想,从 (r1,c1)(r_1,c_1) 移动到 (r2,c2)(r_2,c_2) 所需的最少步数是多少?我们假设在棋盘上只有一枚棋子。帮他解决问题。

输入格式

输入包括四个整数 r1,c1,r2,c2 (1r1,c1,r2,c28)r_1,c_1,r_2,c_2\ (1\le r_1,c_1,r_2,c_2\le 8),分别代表出发的棋格和目的地棋格。数据保证两个格子不相同。你可以假设棋盘的行从上到下是 1188,棋盘从左到右是 1188

输出格式

输出三个用空格分隔的整数,分别代表车、象、王从 (r1,c1)(r_1,c_1) 移动到 (r2,c2)(r_2,c_2) 所需的最少步数。如果无法移动到,则输出 00

4 3 1 6
2 1 3
5 5 5 6
1 0 1