UVa 572 Oil Deposits(简单DFS)
Posted Farewell
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVa 572 Oil Deposits(简单DFS)相关的知识,希望对你有一定的参考价值。
题意:
给出油田的数量,八连通的“@”认为是一个油田。和POJ 2386 Lake Counting这个题几乎一样。
直接上代码:
#include<iostream> using namespace std; char maze[105][105]; int n,m; void dfs(int x,int y) { maze[x][y]=\'*\'; for(int dx=-1;dx<=1;dx++) for(int dy=-1;dy<=1;dy++) { int nx=x+dx,ny=y+dy; if(0<=nx&&nx<n&&0<=ny&&ny<m&&maze[nx][ny]==\'@\') { dfs(nx,ny); } } } int main() { while(cin>>n>>m,n||m) { for(int i=0;i<n;i++) for(int j=0;j<m;j++) cin>>maze[i][j]; int ans=0; for(int i=0;i<n;i++) for(int j=0;j<m;j++) { if(maze[i][j]==\'@\') { dfs(i,j); ans++; } } cout<<ans<<endl; } return 0; }
以上是关于UVa 572 Oil Deposits(简单DFS)的主要内容,如果未能解决你的问题,请参考以下文章
UVA - 572_Oil Deposits(FloodFill)