样例过不了求调
查看原帖
样例过不了求调
974277
水星湖psgqwq楼主2023/8/25 20:39
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
using namespace std;
int n,m,cnt;
char a[105][105];
bool v[105][105];
void dfs(int x,int y)
{
	int dx,dy;
	for(int i=-1;i<=1;i++)
		for(int j=-1;j<=1;j++)
		{
			dx = x+i;
			dy = y+j;
			if(dx>=0&&dx<=n&&dy>=0&&dy<=m&&a[dx][dy]=='W'&&v[dx][dy])
			{
				v[dx][dy] = 1;
				dfs(dx,dy);
			}
		}
	return;
}
int main(){
 	cin>>n>>m;
 	for(int i=1;i<=n;i++)
 		for(int j=1;j<=m;j++)
 			cin>>a[i][j];
 	for(int i=1;i<=n;i++)
 		for(int j=1;j<=m;j++)
 		{
 			if(!v[i][j]&&a[i][j]=='W')
 			{
			 	dfs(i,j);
			 	cnt++;
			}
		}
	cout<<cnt;
	return 0;
}
2023/8/25 20:39
加载中...