zoukankan      html  css  js  c++  java
  • hdu 1240 Asteroids!

    三维的广搜。。


    #include<stdio.h>
    #include<string.h>
    #define Maxn 15
    char map[Maxn][Maxn][Maxn];
    int N,A,B,C,D,E,F;
    char start[Maxn];
    char end[Maxn];
    int move[6][3]={{1,0,0},{-1,0,0},{0,1,0},{0,-1,0},{0,0,1},{0,0,-1}};
    typedef struct
    {
       int x,y,z,n;
    }node;
    node q,p;
    node que[1088];
    int main()
    {
       while(scanf("%s%d",start,&N)!=EOF)
       {
          int i,j;
          for(i=0;i<N;i++)
          {
             for(j=0;j<N;j++)
             {
                scanf("%s",map[i][j]);
             }
          }
          scanf("%d%d%d%d%d%d",&A,&B,&C,&D,&E,&F);
          scanf("%s",end);
          q.x=A,q.y=B,q.z=C,q.n=0;
          map[A][B][C]='X';
          int head=1;
          int rear=1;
          int ok=0;
          que[rear++]=q;
          while(head<rear)
          {
             q=que[head];
             head++;
             if(q.x==D&&q.y==E&&q.z==F)
             {
                printf("%d %d\n",N,q.n);
                ok=1;
                break;
             }
             int tx,ty,tz;
             for(i=0;i<6;i++)
             {
                tx=q.x+move[i][0];
                ty=q.y+move[i][1];
                tz=q.z+move[i][2];
                if(tx>=0&&tx<N&&ty>=0&&ty<N&&tz>=0&&tz<N)
                {
                   if(map[tz][tx][ty]=='O')
                   {
                      map[tz][tx][ty]='X';
                      p.x=tx,p.y=ty,p.z=tz,p.n=q.n+1;
                      que[rear].x=tx,que[rear].y=ty,que[rear].z=tz,que[rear].n=q.n+1;
                      rear++;
                   }
                }
             }
          }
          if(!ok)
          {
              printf("NO ROUTE\n");
          }
       }
       return 0;
    }


  • 相关阅读:
    魏新 20191017-1 每周例行报告
    魏新 20191010-2 每周例行报告
    魏新 20190919-1 每周例行报告
    魏新 20190919-3 效能分析
    总结
    感谢信
    20191024-1 每周例行报告
    20191017-1 每周例行报告
    第三周作业03
    第三周作业1
  • 原文地址:https://www.cnblogs.com/yyf573462811/p/6365414.html
Copyright © 2011-2022 走看看