记录编号 417761 评测结果 AAAAAAAAAA
题目名称 [POJ1657] 棋盘上的距离 最终得分 100
用户昵称 Gravatarjoel 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2017-06-27 16:52:38 内存使用 0.31 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
	freopen("poj_1657.in","r",stdin);
	freopen("poj_1657.out","w",stdout);
	int n;
	cin>>n;
	char a,b,c,d;
	for(int i=1;i<=n;i++)
	{
		cin>>a>>b>>c>>d;
		
		if(a==c&&b==d)
		{
			cout<<0<<' '<<0<<' '<<0<<' '<<0<<endl;
			continue;
		}
		
		int row=abs(a-c);
		int col=abs(b-d);
		
		int king=max(row,col);
		
		int queen=(row==col||col==0||row==0)?1:2;
		
		int car=(row==0||col==0?1:2);
		
		cout<<king<<' '<<queen<<' '<<car<<' ';
		
		int ele;
		int p1=0,p2=0;
		if(!(a%2))
			p1++;
		if(!(b%2))
			p1++;
		if(!(c%2))
			p2++;
		if(!(d%2))
			p2++;
		if(p1==p2||abs(p1-p2)==2)
		{
			if(row==col)
				ele=1;
			else
				ele=2;
		}
		else
			ele=0;
		if(ele)
			cout<<ele<<endl;
		else
			cout<<"Inf"<<endl;
		
	}
	return 0;
}