标签:
Description
Input
Output
Sample Input
Sample Output
#include <iostream> #include <cstring> using namespace std; char a[100][100]; int x,i,j,y; int t[100][100]; void bfs(int o,int p, int num) //定义bfs函数 { if(o<0||o>=x||p>=y||p<0) return; //过界就退出 if(a[o][p]!=‘@‘||t[o][p]!=0) return; // 没有找到或者已经找到过的也退出 t[o][p] = num; for(int i = -1;i <=1;i++) { for(int j = -1;j <= 1;j++) { if(i != 0||j != 0) { bfs(o+i,p+j,num); //继续寻找下个 } } } } int main() { int s ; while(cin>>x>>y) { if(x == 0 && y == 0) break; memset(t,0,sizeof(t)); for( i = 0; i < x;i++) { for( j = 0; j < y; j++) { cin>>a[i][j]; } } s = 0; for(i = 0; i < x; i++) for(j = 0; j < y; j++) { if(t[i][j]==0&&a[i][j]==‘@‘) bfs(i,j,++s); //没有找到过的且是油田 就进入dfs寻找 } cout<<s<<endl; } return 0; }
2016HUAS暑假集训训练题 G - Oil Deposits
标签:
原文地址:http://www.cnblogs.com/LIUWEI123/p/5676825.html