#include <ctime>
#include <stdio.h>
#include <iostream>
using namespace std;
int M,N;
char field [102][102] ;
int num = 0;
bool dfs(int x, int y)
{
field[x][y] = '.';
for(int i = -1; i <=1; i++)
{
for(int j = -1; j <=1; j++)
{
int xnext = x + i;
int ynext = y + j;
if(xnext >=0 && xnext <N && ynext >=0 && ynext <M && field[xnext][ynext] == 'W')
{
dfs(xnext,ynext);
}
}
}
return true;
}
int main()
{
std::ios::sync_with_stdio(false);
scanf("%d%d",&N,&M);
for(int i = 0; i < N; i++)
{
/*
for(int j = 0; j < M; j++)
{
scanf("%c",field[i][j]);
}
getchar();*/
//gets(field[i]);
cin>>field[i];
}
for(int i = 0; i < N; i++)
{
for(int j = 0; j < M; j++)
{
if(field[i][j]=='W')
{
dfs(i,j);
num++;
/*for(int v = 0;v< N;v++)
{
for(int b = 0;b< M;b++)
{
printf("%c",field[v][b]);
}
printf("\n");
}printf("________________________\n\n");*/
}
}
}
printf("%d\n",num);
return 0;
}
poj 2386 Lake Counting
最新推荐文章于 2019-02-18 11:38:02 发布