棋盘上的距离 POJ —1657

 

#include<stdio.h>

#include<math.h>

 

void main()

{

    int i, iTimes;

 

    scanf("%d", &iTimes);

    if(iTimes > 20 || iTimes < 0)

    {

        printf("error times!/n");

        return;

    }

 

    for(i = 0; i < iTimes;  i++)

    {

        int x, y;

        char start[5], end[5];

        scanf("%s %s", start, end);

 

        x = abs(end[0] - start[0]);

        y = abs(end[1] - start[1]);

        if(x == 0 && y == 0)

            printf("0 0 0 0/n");

        else

        {

             if(x == 0 || y == 0)      // 在同行或同列上

            {

                if(x != 0)

                    printf("%d ", x); // 王

                else

                    printf("%d ", y); // 王

 

                printf("1 ");         // 后

                printf("1 ");         // 车

                if(x != 0 && x%2 == 0)

                    printf("2/n");

                else if(y != 0 && y%2 == 0)

                    printf("2/n");

                else

                    printf("Inf/n");      // 象

      }

   else if(x == y)           // 在对角线上   

          {

printf("%d ", x);     // 王

       printf("1 ");         // 后

  printf("2 ");         // 车 

   printf("1/n");        // 象            

          }

   else                      // 不同行也不同列更不在对角线上

          {

if(x < y)

   printf("%d ", y);  // 王

   else

   printf("%d ", x); 

printf("2 ");         // 后

printf("2 ");      // 车

printf("Inf/n");      // 象

      }

        }

    } 

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值