NYOJ 58

来源:互联网 发布:金蝶软件数据库类型 编辑:程序博客网 时间:2024/04/30 12:15

NYOJ 58

#include<stdio.h>int a[9][9]={1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,1,0,1,1,0,0,1,1,0,0,0,1,1,0,1,0,1,1,0,1,1,1,0,0,0,0,1,0,0,1,1,1,0,1,0,1,0,0,1,1,1,0,1,0,1,0,0,1,1,1,0,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1};int t,x1,x2,y1,y2,m;int dfs(int x,int y,int s){    if(x==x2&&y==y2){if(m>s)m=s;}    else        {        if(!a[x+1][y])  {a[x+1][y]=1;dfs(x+1,y,s+1);a[x+1][y]=0;}        if(!a[x-1][y])  {a[x-1][y]=1;dfs(x-1,y,s+1);a[x-1][y]=0;}        if(!a[x][y+1])  {a[x][y+1]=1;dfs(x,y+1,s+1);a[x][y+1]=0;}        if(!a[x][y-1])  {a[x][y-1]=1;dfs(x,y-1,s+1);a[x][y-1]=0;}    }}int main(){    int s;    scanf("%d",&t);    while(t--)    {        m=81;s=0;        scanf("%d %d %d %d",&x1,&y1,&x2,&y2);        dfs(x1,y1,s);        printf("%d\n",m);    }return 0;}
0 0