20分求助,为什么错
查看原帖
20分求助,为什么错
95344
Herbert楼主2022/2/11 10:25
#include<bits/stdc++.h>
using namespace std;
char a[101][101];
int ans;
int n,m;
void dfs(int x,int y){
	a[x][y]='.';
	int dx,dy;
	for(int i=-1;i<=1;i++)
	{
		for(int j=-1;j<=1;j++)
		{
			dx=x+j;
			dy=y+j;
			if(dx>=0&&dx<=n&&dy>=0&&dy<m&&a[dx][dy]=='W')
			{
				dfs(dx,dy);
			}
		}
	}
	return;
}
int main()
{
	cin>>n>>m;
	for(int i=0;i<=n;i++)
	{
		scanf("%s",a[i]);
	}
	for(int i=0;i<=n;i++)
	{
		for(int j=0;j<m;j++)
		{
			if(a[i][j]=='W')
			{
				dfs(i,j);
				ans++;
			}
		}
	}
	cout<<ans;
	return 0;
}
2022/2/11 10:25
加载中...