ZOJ 1709--DFS--分块

来源:互联网 发布:u8数据库置疑修复工具 编辑:程序博客网 时间:2024/05/18 19:38


还是那个油田问题

代码:

#include<iostream>#include<cstring>using namespace std;int n,m;int d[8][2]={{0,-1},{0,1},{1,0},{-1,0},{-1,1},{-1,-1},{1,1},{1,-1}};char a[200][200];void dfs(int x,int y,int u){a[x][y]='*';for(int i=0;i<8;i++){int dx=x+d[i][0];int dy=y+d[i][1];if(dx>=0&&dx<n&&dy>=0&&dy<m&&a[dx][dy]=='@') dfs(dx,dy,u);}}int main(){while(cin>>n>>m){if(!n) break;for(int i=0;i<n;i++) cin>>a[i];int cnt=0;for(int i=0;i<n;i++)for(int j=0;j<m;j++)if(a[i][j]=='@') dfs(i,j,++cnt);cout<<cnt<<endl;}}


0 0
原创粉丝点击