用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c++代码库

poj 2386

2014-01-12 作者: asdw12345举报

[c++]代码库

#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<cctype>
#include<stack>
#include<queue>
#include<algorithm>
#include<iostream>
using namespace std;
#define MAXN 100+5
int N,M;
char str[MAXN][MAXN];
int pos[9][2]={{-1,-1},{-1,0},{-1,1},{0,-1},{0,0},{0,1},{1,-1},{1,0},{1,1}};
void dfs(int x,int y)
{
    str[x][y]='.';
    int i,j;
    for(i=0;i<9;i++)
    {
        x+=pos[i][0];
        y+=pos[i][1];
        if(x>=0&&x<N&&y>=0&&y<M&&str[x][y]=='W') dfs(x,y);
        x-=pos[i][0];
        y-=pos[i][1];
    }
    return ;
}
int main()
{
    while(scanf("%d%d",&N,&M)!=EOF)
    {
        int i,j;
        for(i=0;i<N;i++)
        {
            scanf("%s",str[i]);
        }
        int ans=0;
        for(i=0;i<N;i++)
        {
            for(j=0;j<M;j++)
            {
                if(str[i][j]=='W')
                {
                    dfs(i,j);
                    ans++;
                }
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...