0
点赞
收藏
分享

微信扫一扫

2022-1-11学习总结

西特张 2022-01-12 阅读 28

上午(3h)

奇怪的电梯

主要思路:

下午(3.5h)

 

 

 陨石雨

主要思路:

 晚上(1.5h)

玉米迷宫 

 

 代码写了很长可还是没有ac

#include<stdio.h>
char map[500][500];
int book[1000][1000];
struct queue
{
    int x;
    int y;
    int time;
}que[160010];
int n,m;
int head,tail;
int sx,sy;
int tx,ty;
int nx,ny;
int next[100][100]={{1,0},{-1,0},{0,1},{0,-1}};
void check(int *x,int *y)
{   
    for(int i=0;i<n;i++)
     for(int j=0;j<m;j++)
      if(map[i][j]==map[*x][*y]&&i!=*x&&j!=*y)
       {   
           *x=i;
           *y=j;
           return;
       }
      
}
void bfs(int sx,int sy)
{
    tail++;
    que[head].x=sx;
    que[head].y=sy;
    que[head].time=0;
    
    while(head<tail)
    {       
        if(map[que[head].x][que[head].y]>='A'&&map[que[head].x][que[head].y]<='Z')
            {     
                check(&que[head].x,&que[head].y);
                          
            }
            if(map[que[head].x][que[head].y]=='=')
            {
                printf("%d",que[head].time);
                return;
            }
        
       for(int i=0;i<4;i++)
       {
           tx=que[head].x+next[i][0];
           ty=que[head].y+next[i][1];
           if(map[tx][ty]=='#')
            continue;
            if(tx<0||tx>=n||ty<0||ty>=m)
             continue;
            if(book[tx][ty]==0){
                 book[tx][ty]=1;
                que[tail].x=tx;
                que[tail].y=ty;
                que[tail].time=que[head].time+1;
                tail++;
            }
       }
       head++;
    }
}
int main()
{
   scanf("%d %d",&n,&m);
   
   for(int i=0;i<n;i++)
      {for(int j=0;j<m;j++)
         {
           scanf("%c",&map[i][j]);
           if(map[i][j]=='@')
            {
                sx=i;
                sy=j;
                book[sx][sy]=1;
            }
      
         }
         getchar();
      }
     
     bfs(sx,sy);
    

     return 0;
}

 

举报

相关推荐

java面试2022-1-11

2022/1/11总结

2022/1/24学习总结

2022/1/13学习总结

2022/1/21学习总结

2022/2/11总结

2022_11_1

2022/3/11 考试总结

每日总结(2022/2/11)

0 条评论