Oil Deposits

Posted Thunder-ray

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oil Deposits相关的知识,希望对你有一定的参考价值。

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstring>
 4 using namespace std;
 5 
 6 int n,m,cnt;
 7 char mp[110][110];
 8 bool vis[110][110];
 9 int dir[8][2]={{1,0},{1,1},{1,-1},{0,1},{0,-1},{-1,0},{-1,1},{-1,-1}};
10 
11 void dfs(int x,int y) //对每个@ 都寻找旁边八个方向的@ ,并标记,成为一个整体 
12 {
13     for(int i=0;i<8;i++)
14     {
15         int dx= x+dir[i][0];
16         int dy= y+dir[i][1];
17         if(dx<0||dx>n-1||dy<0||dy>m-1)
18             continue;
19         if(mp[dx][dy]==@&&vis[dx][dy]==0)
20         {
21             vis[dx][dy]=1;
22             dfs(dx,dy);
23         }
24     }
25 }
26 
27 int main()
28 {
29     while(cin>>n>>m &&n &&m)
30     {
31         memset(vis,0,sizeof(vis));
32         cnt=0;
33         
34         for(int i=0;i<n;i++)
35             cin>>mp[i];
36         for(int i=0;i<n;i++)
37         {
38             for(int j=0;j<m;j++)
39             {
40                 if(mp[i][j]==@&&vis[i][j]==0)
41                 {
42                     cnt++;
43                     dfs(i,j);
44                 }
45             }
46         }
47         cout<<cnt<<endl;
48     }
49 }

 HDU - 1241 

以上是关于Oil Deposits的主要内容,如果未能解决你的问题,请参考以下文章

UVa 572 Oil Deposits(简单DFS)

HDU 1241 Oil Deposits(DFS)

hdu 1241 Oil Deposits

UVA 572 Oil Deposits(DFS求连通块)

油田(Oil Deposits)-用DFS求连通块

紫书Oil Deposits UVA - 572 dfs求联通块