#include<stdio.h>
#include<malloc.h>
char Water[100][100];//用来表示网格,最多100个
int N,M,count=0;
void search(int i,int j,int flag);//i行j列,flag表示这次搜索是否是1个完整的搜索
int main()
{
scanf("%d%d",&N,&M);
int i,j;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
scanf(" %c",&Water[i][j]);
}
for(i=0;i<N;i++)
for(j=0;j<M;j++)
search(i,j,0);
printf("%d",count);
}
void search(int i,int j,int flag)
{
if(flag==0&&Water[i][j]=='W')
count++;
if(i<0||j<0||i==N||j==M)
return;
if(Water[i][j]=='.'||Water[i][j]=='u')
return;
if(Water[i][j]=='W')
{
Water[i][j]='u';//标记为使用过的水坑
search(i-1,j-1,1);
search(i-1,j,1);
search(i-1,j+1,1);
search(i,j-1,1);
search(i,j+1,1);
search(i+1,j-1,1);
search(i+1,j,1);
search(i+1,j+1,1);
}
}
P1596
最新推荐文章于 2024-07-06 19:19:19 发布