记录编号 107450 评测结果 AAAAAAAAAA
题目名称 [POJ1657] 棋盘上的距离 最终得分 100
用户昵称 GravatarHouJikan 是否通过 通过
代码语言 C++ 运行时间 0.004 s
提交时间 2014-06-25 21:55:52 内存使用 0.28 MiB
显示代码纯文本
#include<iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{ 
   freopen("poj_1657.in","r",stdin);
  freopen("poj_1657.out","w",stdout);
    char ch[10];
    int fx,fy;
    int tx,ty;
    int cases;
    int a,b,c,k;
    cin>>cases;
    for(k=1;k<=cases;k++)
    {
        cin>>ch;
        fx=ch[0]-96;
        fy=ch[1]-'0';
        cin>>ch;
        tx=ch[0]-96;
        ty=ch[1]-'0';
        a=abs(fx-tx);
        b=abs(fy-ty);
        if (a<b) cout<<b<<' ';
        else cout<<a<<' ';
        if (fx==tx&&fy==ty) cout<<'0'<<' ';
        else
        if (fx==tx||fy==ty||fx-fy==tx-ty||fx+fy==tx+ty) cout<<'1'<<' ';
        else cout<<'2'<<' ';
        if (fx==tx&&fy==ty) cout<<'0'<<' ';
        else
        if (fx==tx||fy==ty) cout<<'1'<<' ';
        else cout<<"2 ";
        int k=fx+fy-tx-ty;
        if (k<0)k=-k;
        if (k%2==1) cout<<"Inf"<<endl;
        else if(fx==tx&&fy==ty) cout<<'0'<<endl;
        else if(fx-fy==tx-ty||fx+fy==tx+ty) cout<<'1'<<endl;
        else cout<<"2"<<endl;
    }
}