CF370A.Rook, Bishop and King

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Rook, Bishop and King

题目描述

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

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

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

输入格式

输入包括四个整数r1,c1,r2,c2(1<=r1,c1,r2,c2<=8)r_1,c_1,r_2,c_2(1<=r_1,c_1,r_2,c_2<=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

在线编程 IDE

建议全屏模式获得最佳体验