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