其他分享
首页 > 其他分享> > poj 1562 Oil Deposits 广搜 (★☆☆☆☆)

poj 1562 Oil Deposits 广搜 (★☆☆☆☆)

作者:互联网

题意:由相邻的‘@’所组成的区域称为一块油田,问一共有多少块这样的油田?

 

Source Code
#include <iostream>
using namespace std;

const int N = 110;
char g[N][N];
int n,m;
int r[8][2]={{0,-1},{0,1},{-1,0},{1,0},{-1,-1},{1,1},{-1,1},{1,-1}};

void bfs(int x, int y){
	for(int i=0;i<8;i++){
		if(x+r[i][0]>=0 && x+r[i][0]<n
			&& y+r[i][1]>=0 && y+r[i][1]<m
			&& g[x+r[i][0]][y+r[i][1]]=='@'){
			g[x+r[i][0]][y+r[i][1]]='*';
			bfs(x+r[i][0],y+r[i][1]);
		}
	}
}

int main(){
	while(cin>>n>>m,n||m){
		for(int i=0;i<n;i++){
			cin>>g[i];
		}
		int ans = 0;
		for(int i=0;i<n;i++){
			for(int j=0;j<m;j++){
				if(g[i][j]=='@'){
					ans++;
					g[i][j]='*';
					bfs(i,j);
				}
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}

转载于:https://www.cnblogs.com/pcwl/archive/2011/05/09/2040945.html

标签:www,Oil,题意,int,2040945,poj,&&,油田,1562
来源: https://blog.csdn.net/weixin_34029680/article/details/93986921