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;
}