uva 572 Oil Deposits

来源:互联网 发布:ubuntu 查看用户名 编辑:程序博客网 时间:2024/06/05 19:47

水题

#include <iostream>#include <cstdio>#define N 103using namespace std;char w[N][N];int n,m;void dfs(int x,int y){    w[x][y]='.';//把现在所在位置替换为 .    for(int dx=-1;dx<=1;dx++)    {        for(int dy=-1;dy<=1;dy++)//向四周围遍历        {            int nx=x+dx;            int ny=y+dy;            if(0<=nx && nx<n && 0<=ny && ny<m && w[nx][ny]=='@') dfs(nx,ny);        }    }    return ;}int main(){    int i,j;    while(~scanf("%d%d",&n,&m) && (n!=0 && m!=0))    {        for(i=0;i<n;i++)        {            for(j=0;j<m;j++)            {                cin>>w[i][j];            }        }        int counter=0;        for(i=0;i<n;i++)        {            for(j=0;j<m;j++)            {                if(w[i][j]=='@')                {                    dfs(i,j);                    counter++;                }            }        }        cout<<counter<<endl;    }    return 0;}


0 0
原创粉丝点击