编辑代码

#include <stdio.h>
#include <string.h>

int main(void)
{
    int m,n,i1,j1,k1,l1;
    int xs[1024]={0},ys[1024]={0},spread[1024][1024]={0};
    int time=0,al=0,ah=2;
    int x=0,y=0;

    scanf("%d,%d,%d,%d,%d,%d",&m,&n,&i1,&j1,&k1,&l1);

    xs[0]=i1;ys[0]=j1;
    xs[1]=k1;ys[1]=l1;
    spread[i1][j1]=1;
    spread[k1][l1]=1;

    while(al<ah)
    {
        int size=ah-al;
        for(int j=0;j<size;j++)
        {
            x=xs[al];
            y=ys[al];
            al++;

            if((x+1)>=0 && (x+1)<m && spread[x+1][y]==0)
            {
                spread[x+1][y]=1;
                ah++;
                xs[ah]=x+1;
                ys[ah]=y;
            }
            if((x-1)>=0 && (x-1)<m && spread[x-1][y]==0)
            {
                spread[x-1][y]=1;
                ah++;
                xs[ah]=x-1;
                ys[ah]=y;
            }
            if((y+1)>=0 && (y+1)<n && spread[x][y+1]==0)
            {
                spread[x][y+1]=1;
                ah++;
                xs[ah]=x;
                ys[ah]=y+1;
            }
            if((y-1)>=0 && (y-1)<n && spread[x][y-1]==0)
            {
                spread[x][y-1]=1;
                ah++;
                xs[ah]=x;
                ys[ah]=y-1;
            }
        }
        time++;
    }
    printf("%d",time);
}