poj 2386

来源:互联网 发布:zach king 知乎 编辑:程序博客网 时间:2024/05/23 12:45
#include <stdio.h>#include <stdlib.h>char a[101][101];int N,M;void dfs(int x,int y){    int i,j,dx,dy;    a[x][y]='.';    for(i=-1;i<2;i++){        for(j=-1;j<2;j++)        {            dx=x+i;            dy=y+j;            if(dx>=0&&dx<N&&dy>=0&&dy<M&&a[dx][dy]=='W') dfs(dx,dy);        }    }    return ;}int main(){    int i,j,ans=0;    scanf("%d%d",&N,&M);    for(i=0;i<N;i++)        //for(j=0;j<M;j++)            scanf("%s",a[i]);    for(i=0;i<N;i++){        for(j=0;j<M;j++){            if(a[i][j]=='W'){                dfs(i,j);                ans++;            }        }    }    printf("%d\n",ans);    return 0;}
今天学习dfs,然后有这个例题,就自己写了一遍,加油吧。
0 0
原创粉丝点击