poj1979

#include<stdio.h>
int map[4][4]={'.','.','.','.',
      '#','.','.','.',
      '.','#','.','.',
      '#','.','.','@'};
int mov1[4]={0,0,1,-1};
int mov2[4]={1,-1,0,0};
typedef struct node
{
 int x;
 int y;
}node;
node dui[100];
int tou=0;
int wei=1;
void bfs()
{
 int nx;
 int ny;
 dui[tou].x=3;
 dui[tou].y=3;
 while(tou<wei)
 {
  for(int i=0;i<4;i++)
  {
   nx=dui[tou].x+mov1[i];
   ny=dui[tou].y+mov2[i];
   if(nx>=0&&nx<4&&ny>=0&&ny<4&&map[nx][ny]=='.')
   {
    dui[wei].x=nx;
    dui[wei].y=ny;
    map[nx][ny]='#';
    wei++;
   }
  }
  tou++;
 }
}
int main()
{
 bfs();
 printf("%d",tou);
 return 0;
}
  

原文地址:https://www.cnblogs.com/452035305qq/p/6144976.html