在一次偶然的机会,小新发现了一个神秘的棋盘。这个棋盘和普通的8x8格子棋盘不同,它的棋子可以进行非常神奇的移动。每个棋子都只能移动到与其当前所在位置颜色不同的格子上。小新非常好奇,他想要知道如果他把棋子放在(A,B)位置,那么把棋子移动到(P,Q)位置最少需要多少步。他希望你能帮他解答这个问题注意:棋盘是一个8x8的方形棋盘,其中(i,j)表示第i行和第j列的交叉点,如果i+j 是偶数,(i,j)就是白色,如果i+j 是奇数,(i,j)就是黑色。
- 输入格式
输入的第一行包含一个单独的整数T,表示有多少个测试用例。
每个测试用例都包含一个单独的输入行,其中包含四个用空格分隔的整数 A,B,P,Q。
数据范围保证: 1<T<5000,1< A,B,P,<8.
- 输出格式
对于每个测试用例,输出一个单独的行,其中包含一个整数——从(A,B)到(P)所需的最小移动次数。
- 代码
点击查看代码
#include <stdio.h>
int main(int argc, char *argv[])
{
int a,b,c,d,s,i,n;
scanf("%d\n",&n);
for(i=1;i<=n;i++)
{
scanf("%d %d %d %d\n",&a,&b,&c,&d);
if(a==c && b==d)
s=0;
else if((a+b)%2==(c+d)%2)
s=2;
else if((a+b)%2!=(c+d)%2)
s=1;
printf("%d\n",s);
}
return 0;
}