DFS90分求救
#include<bits/stdc++.h>
char c[15039];
int a[15039][15039],sum[15039],q;
long long n,m,ansmany,ansbig=-1;
int get(int x,int y){
if(a[x][y]==1){
a[x][y]=0;
return 1+get(x+1,y)+get(x-1,y)+get(x,y-1)+get(x-1,y+1)+get(x+1,y-1)+get(x-1,y-1)+get(x+1,y+1)+get(x,y+1);
}
else{
return 0;
}
}
int main(){
freopen("star.in","r",stdin);
freopen("star.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
std::cin>>c+1;
for(int j=1;j<=m;j++){
a[i][j]=(c[j]=='*');
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
q=get(i,j);
if(q>0){
if(sum[q]==0){
ansmany++;
}
sum[q]++;
if(q*sum[q]>ansbig)ansbig=q*sum[q];
}
}
}
printf("%d ",ansmany);
printf("%d\n",ansbig);
return 0;
}