#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void)
{
int t;
char coordinate[2][3];
int king = 0,
queen = 0,
castle = 0,
bishop = 0,
differ_x = 0,
differ_y = 0;
scanf("%d", &t);
while(t--){
scanf("%s %s", coordinate[0], coordinate[1]);
differ_x = abs(coordinate[1][0] - coordinate[0][0]);
differ_y = abs(coordinate[1][1] - coordinate[0][1]);
if(differ_x == 0 && differ_y == 0){//两点重合
king = 0;
queen = 0;
castle = 0;
bishop = 0;
printf("%d %d %d %d\n", king, queen, castle, bishop);
}
else if(differ_x == 0){//两点同列
king = differ_y;
queen = 1;
castle = 1;
if(differ_y % 2 == 1){
printf("%d %d %d Inf\n", king, queen, castle);
}
else{
bishop = 2;
printf("%d %d %d %d\n", king, queen, castle, bishop);
}
}
else if(differ_y == 0){//两点同行
king = differ_x;
queen =1;
castle = 1;
if(differ_y % 2 == 1){
printf("%d %d %d Inf\n", king, queen, castle);
}
else{
bishop = 2;
printf("%d %d %d %d\n", king, queen, castle, bishop);
}
}
else if(differ_x == differ_y){//两点同斜行
king = differ_x;
queen = 1;
castle = 2;
bishop = 1;
printf("%d %d %d %d\n", king, queen, castle, bishop);
}
else{//不同行、不同列、不同斜行
king = abs(differ_x - differ_y) + (differ_x<differ_y?differ_x:differ_y);
queen = 2;
castle = 2;
if(differ_x % 2 != differ_y % 2){
printf("%d %d %d Inf\n", king, queen, castle);
}
else{
bishop = 2;
printf("%d %d %d %d\n", king, queen, castle, bishop);
}
}
}
return 0;
}
|