代码:
#include<bits/stdc++.h>
using namespace std;
long long n,m,sum,ssr=0,s;
char a[1010][1010];
int dd(long long z,long long y){
if(z>=1 && y>=1 && z!=n+1 && y!=m+1){
if((a[z][y+1]=='.' || a[z][y+1]==a[0][0]) && (a[z][y-1]=='.' || a[z][y-1]==a[0][0]) && (a[z-1][y]=='.' || a[z-1][y]==a[0][0]) && (a[z+1][y]=='.' || a[z+1][y]==a[0][0]) ){
return 1;
}else{
return 0;
}
}
return 0;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int l=1;l<=m;l++){
cin>>a[i][l];
}
}
for(int i=1;i<=n;i++){
for(int l=1;l<=m;l++){
if(a[i][l]=='.' && dd(i,l)==1 ){
sum++;
}else{
if(a[i][l]=='#'){
a[i][l]='.';
s=dd(i,l+1)+dd(i,l-1)+dd(i-1,l)+dd(i+1,l)+dd(i,l);
ssr=max(ssr,s);
a[i][l]='#';
}
}
}
}
cout<<ssr+sum;
return 0;
}