杭电 1241 Oil Deposits 解题报告
广搜。看代码~
#include <iostream> using namespace std; char s[102][102]; void visit(int a,int b) { s[a][b]=0; int i,j; for(i=a-1;i<=a+1;i++) for(j=b-1;j<=b+1;j++) if(s[i][j]==-1) visit(i,j); } int main() { int i,j,m,n,t; char str[102]; while(cin>>m>>n && (m||n)) {for(i=1;i<=m;i++) for(cin>>str,j=1;j<=n;j++) s[i][j]=(str[j-1]=='@'?-1:0); t=0; for(i=1;i<=m;i++) for(j=1;j<=n;j++) if(s[i][j]==-1) { visit(i,j); t++; } cout<<t<<endl; } }