POJ 2386 Lake Counting

来源:互联网 发布:电子商务模拟教学软件 编辑:程序博客网 时间:2024/05/01 22:53

题略水- -!

#include<stdio.h>#include<string.h>#include<stdlib.h>char s[110][110];bool vis[110][110];int n,m;void dfs(int x,int y){    if(x<n&&x>=0&&y<m&&y>=0&&s[x][y]=='W'&&!vis[x][y])    {        vis[x][y]=true;        dfs(x+1,y);        dfs(x+1,y+1);        dfs(x+1,y-1);        dfs(x,y+1);        dfs(x,y-1);        dfs(x-1,y);        dfs(x-1,y+1);        dfs(x-1,y-1);    }}int main(){    int i,j,ans;  //  freopen("test.txt", "r", stdin);    while(scanf("%d%d",&n,&m)!=EOF)    {        getchar();        ans=0;        memset(vis,0,sizeof(vis));        for(i=0;i<n;i++)            gets(s[i]);        for(i=0;i<n;i++)            for(j=0;j<m;j++)                if(s[i][j]=='W'&&!vis[i][j])                {                    ans++;                    dfs(i,j);                }        printf("%d\n",ans);    }    return 0;}


原创粉丝点击