0分求助!!
查看原帖
0分求助!!
746240
linmoxi楼主2023/8/30 18:00
#include<iostream>
#include<string>
#include<cmath>
#include<algorithm> 
#include<stack>
#include<vector>
using namespace std;
int n,m,cnt,ant,tnt;
char a[105][105];
void dfs(int i,int j){
	if(i<1||i>n||j<1||j>n)return;
	if(a[i][j]=='W'){
		ant++;
		dfs(i-1,j);
		dfs(i+1,j);
		dfs(i,j-1);
		dfs(i,j+1);
		dfs(i-1,j-1);
		dfs(i-1,j+1);
		dfs(i+1,j-1);
		dfs(i+1,j+1);
	}
	a[i][j]=='.';
	return;
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(a[i][j]=='*'){
				ant=0;
				dfs(i,j);
				cnt++;
				tnt=max(ant,tnt);
			}
		}
	}
	cout<<cnt<<" "<<tnt;
}

2023/8/30 18:00
加载中...