//// main.cpp// dfs-bfs搜索//// Created by liuzhe on 16/8/10.// Copyright © 2016年 my_code. All rights reserved.//#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>using namespace std;//Oil Depositschar map[101][101];//存图int dir[8][2]={ {-1,-1}, {-1,0}, {-1,1}, {0,-1}, {0,1}, {1,-1}, {1,0}, {1,1}};int vis[101][101];int n,m,ans;void dfs(int i,int j){ vis[i][j]=1; for(int k=0;k<8;++k) { int x=i+dir[k][0]; int y=j+dir[k][1]; if(x>=0&&x<n&&y>=0&&y<m&&!vis[x][y]&&map[x][y]=='@')//判断是否越界 dfs(x,y); }}int main(){ while(cin>>n>>m) { if(!n&&!m) break; for(int i=0;i<n;i++) scanf("%s",&map[i]); ans=0; memset(vis,0,sizeof(vis)); for(int i=0;i<n;i++) for(int j=0;j<m;++j) if(!vis[i][j]&&map[i][j]=='@') { ans++; dfs(i,j); } PRintf("%d/n",ans); } return 0;}
新闻热点
疑难解答