码迷,mamicode.com
首页 > 其他好文 > 详细

poj 1562 简单 bfs

时间:2014-08-09 11:32:47      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:os   io   for   ar   amp   size   ad   ios   

// 简单 bfs

#include <iostream>
#include<fstream>
using namespace std;

char map[110][110];
int flag[110][110];
int qu[11000][2],qe,qs,m,n;
int add[8][2]={-1,-1,  -1,0, -1,1,   0,-1,  0,1,  1,-1,    1,0,   1,1 };

void bfs(int r,int c)
{    int i,tr,tc;
     qs=qe=0;   flag[r][c]=1;   qe++;
     qu[qs][0]=r;  qu[qs][1]=c;
     while(qs<qe)
     {  for(i=0;i<8;i++)
 {   tr=qu[qs][0]+add[i][0];  tc=qu[qs][1]+add[i][1];
     if(tr<=m&&tr>=1&&tc<=n&&tc>=1&&flag[tr][tc]==0&&map[tr][tc]==‘@‘)
     {    qu[qe][0]=tr;     qu[qe][1]=tc;    
                 flag[tr][tc]=1;     qe++; 
            }
 }
 qs++;
    }
}

int main()
{    int i,j;
     while(scanf("%d%d",&m,&n),m)
     {    int count=0;    memset(flag,0,sizeof(flag));   
          memset(qu,0,sizeof(qu));
          for(i=1;i<=m;i++)    scanf("%s",map[i]+1);
          for(i=1;i<=m;i++)
       for(j=1;j<=n;j++)
      if(flag[i][j]==0&&map[i][j]==‘@‘)
      { bfs(i,j); count++; }
          printf("%d\n",count);
     }
     return 0;
}

 

poj 1562 简单 bfs,布布扣,bubuko.com

poj 1562 简单 bfs

标签:os   io   for   ar   amp   size   ad   ios   

原文地址:http://www.cnblogs.com/2014acm/p/3900645.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!