输入。
查看原帖
输入。
530560
lele6688楼主2021/9/15 19:57
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int shu=0,m,n,c[1000][1000];
int dx[9]={0,-1,-1,-1,0,0,1,1,1};
int dy[9]={0,-1,0,1,-1,1,-1,0,1};
char l[1000][1000];
void dfs(int x,int y)
{
	if(c[x][y]==1) return;
	c[x][y]=1;
	for(int i=1;i<=8;i++)
	{
	int zz=dx[i]+x;
	int ss=dy[i]+y;
	if(zz>0&&ss>0&&zz<=m&&ss<=n)
	{
	dfs(zz,ss);		
	}
	}
}
int main()
{
	cin>>m>>n;
	for(int i=1;i<=m;i++)
	{
	for(int j=1;j<=n;j++)
	{
	cin>>l[i][j]
	if(l[i][j]=='W') l[i][j]=0;
	else l[i][j]=1;
	}
	}
	for(int i=1;i<=m;i++)
	{
	for(int j=1;j<=n;j++)
	{
	if(l[i][j]==0)
	{
	dfs(i,j);
	shu++;
	}
	}
	}
	cout<<shu;
	return 0;
}
2021/9/15 19:57
加载中...