poj-1657 Distance on Chessboard

Posted gufana

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了poj-1657 Distance on Chessboard相关的知识,希望对你有一定的参考价值。

c语言解决

代码:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int num,i;
    scanf("%d",&num);
    for(i=0;i<num;i++)
    {
        char begin[5],end[5];//用begin和end分别存储棋子的起止位置
        scanf("%s%s",begin,end);//begin 和 end 已经是地址
        int x,y;//用x和y分别存储起止位置之间x方向和y方向上的距离
        x = abs(begin[0]-end[0]);
        y = abs(begin[1]-end[1]);
        if(x==0&&y==0) printf("0 0 0 0 ");//起止位置相同,所有棋子都走0步
        else
        {
            int sum,number;
            sum = abs(x-y);
            number = x>y? x:y;
            //对于王来说
            printf("%d ",number);
            //对于后来说
            if(x==y||x==0||y==0)printf("1 ");
            else    printf("2 ");
            //对于车来说
            if(x==0||y==0)printf("1 ");
            else    printf("2 ");
            //对于象来说
            if(sum%2!=0)printf("Inf ");
            else if(x==y)    printf("1 ");
            else printf("2 ");
        }
    }
}

遇到的问题:

如何存储字符:运用两个字符数组存储

scanf("%s%s",begin,end) 给两个字符数组赋值




































以上是关于poj-1657 Distance on Chessboard的主要内容,如果未能解决你的问题,请参考以下文章

棋盘上的距离[POJ-1657]

codechef Prime Distance On Tree(树分治+FFT)

bzoj4449 [Neerc2015]Distance on Triangulation

计蒜客38229 Distance on the tree 树剖

J. Distance on the tree

bzoj 4449: [Neerc2015]Distance on Triangulation