uva 572 Oil Deposits

来源:互联网 发布:etc linux 缩写 编辑:程序博客网 时间:2024/05/18 10:31
#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=100+5;char pic[maxn][maxn];int buf[maxn][maxn];int m,n;void dfs(int r,int c,int id){    if(r<0||r>=m||c<0||c>=n) return ;    if(pic[r][c]!='@'||buf[r][c]>0) return ;    buf[r][c]=id;    for(int i=-1;i<=1;i++)    {        for(int j=-1;j<=1;j++)        {            if(i!=0||j!=0) dfs(r+i,c+j,id);        }    }}int main(){    while(scanf("%d%d",&m,&n)&&m&&n)    {        memset(buf,0,sizeof(buf));        int cnt=0;        for(int i=0;i<m;i++)            scanf("%s",pic[i]);        for(int i=0;i<m;i++)            for(int j=0;j<n;j++)                if(pic[i][j]=='@'&&!buf[i][j]) dfs(i,j,++cnt);        printf("%d\n",cnt);    }    return 0;}

0 0
原创粉丝点击