您的位置:首页 > 家居用品 > 家纺 > bfs搜索

bfs搜索

luyued 发布于 2011-04-28 14:10   浏览 N 次  

hoj1797

#include
#include
#define MAX 20
using namespace std;
int map[MAX][MAX];
struct POS
{
int x,y;
};
POS pos;
int move[4][2]={{-1,0},{1,0},{0,1},{0,-1}};
int main()
{
int w,h;
while(scanf("%d %d",&w,&h)==2)
{
int step=1;
if(w==0 && h==0)
break;
getchar();
for (int i=0;i {
for(int j=0;j {
char c;
scanf("%c",&c);
if(c=='.')
map[j][i]=0;
else if(c=='#')
map[j][i]=1;
else
{
map[j][i]=1;
pos.x=j;pos.y=i;
}
}
getchar();
}
queue Q;
Q.push(pos);
while(!Q.empty())
{
pos=Q.front();
Q.pop();
for(int i=0;i<4;i++)
{
POS tmp;
int tx=pos.x+move[i][0];
int ty=pos.y+move[i][1];
if(tx>=0 && tx=0 && ty {
tmp.x=tx;
tmp.y=ty;
step++;
map[tx][ty]=1;
Q.push(tmp);
}
}
}
printf("%d\n",step);
}
return 0;
}

图文资讯
广告赞助商