标签:
#include<iostream> #include<queue> using namespace std; int m,n; int cnt; char mapp[105][105]; int dir[4][2]={1,0,-1,0,0,1,0,-1}; struct node { int x; int y; }; void BFS(int x,int y) { node now,next; queue<node>q; now.x=x; now.y=y; q.push(now); while(!q.empty()) { now=q.front(); q.pop(); for(int i=0;i<4;i++) { next.x=now.x+dir[i][0]; next.y=now.y+dir[i][1]; if(next.x>=0&&next.x<n&&next.y>=0&&next.y<m&&mapp[next.x][next.y]==‘.‘) { mapp[next.x][next.y]=‘#‘; cnt++; q.push(next); } } } } int main() { int i,j,di,dj; while(cin>>m>>n) { cnt=1; if(m==0&&n==0) break; for(i=0;i<n;i++) for(j=0;j<m;j++) cin>>mapp[i][j]; for(int i=0;i<n;i++) for(int j=0;j<m;j++) { if(mapp[i][j]==‘@‘) BFS(i,j); } cout<<cnt<<endl; } }
标签:
原文地址:http://www.cnblogs.com/wangmenghan/p/5565366.html