样例已过
#include<bits/stdc++.h>
using namespace std;
char nd[2000][2000];
int rki[2000], rkj[2000];
int main()
{
int m, n, sum = 0;
cin >> m >> n;
for(int i = 0;i < m;i++)
{
for(int j = 0;j < n;j++)
{
cin >> nd[i][j];
if(nd[i][j] == '#')
{
rki[sum] = i;
rkj[sum] = j;
sum++;
}
}
}
int maxn = -1;
for(int i = 0;i < sum;i++)
{
int a = 0;
nd[rki[i]][rkj[i]] = '.';
for(int j = 0;j < m;j++)
{
for(int f = 0;f < n;f++)
{
if(nd[abs(j)][abs(f)] != '#' && nd[abs(j)][abs(f+1)] != '#'
&& nd[abs(j)][abs(f-1)] != '#' && nd[abs(j-1)][abs(f)] != '#'
&& nd[abs(j+1)][abs(f)] != '#')
{
a++;
}
}
}
if(a > maxn) maxn = a;
nd[rki[i]][rkj[i]] = '#';
}
cout << maxn << endl;
return 0;
}
调了必关