玉树搜救行动

#include<stdio.h>
int dir[4][2]={{0,1},{0,-1},{-1,0},{1,0}},r,c,count=0;
char map[101][101];
void dfs(int x,int y)
{
    if(map[x][y]=='#'||x<0||x>=r||y<0||y>=c)
    return;
    if(map[x][y]=='p')
    count++;
    map[x][y]='#';
    int i;
    for(i=0;i<4;i++)
    dfs(x+dir[i][0],y+dir[i][1]);
}
int main()
{
    int i,j;
    while(scanf("%d %d",&r,&c),r||c)
    {
        count=0;
        for(i=0;i<r;i++)
        scanf("%s",map[i]);
        for(i=0;i<r;i++)
        {
            for(j=0;j<c;j++)
            {
                if(map[i][j]=='d')
                dfs(i,j);
            }
        }
        printf("%d\n",count);
    }
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/zzjam--1/p/11470277.html