点击查看代码
#include<bits/stdc++.h>
using namespace std;
const int N=1010,M=1010;
int h[M];
int a[N][N];
int stk[N],tt=0;
int n,m;
int l[M],r[M];
int main()
{
ios::sync_with_stdio(0),cin.tie(0);
cin>>n>>m;
int ans=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
char c;
cin>>c;
if(c=='F') h[j]++;
else h[j]=0;
}
tt=0;
for(int j=1;j<=m;j++){
while(tt&&h[stk[tt]]>=h[j]) tt--;
if(tt==0) l[j]=0;
else l[j]=stk[tt];
stk[++tt]=j;
}
tt=0;
for(int j=m;j>=1;j--){
while(tt&&h[stk[tt]]>=h[j]) tt--;
if(tt==0) r[j]=m+1;
else r[j]=stk[tt];
stk[++tt]=j;
}
for(int j=1;j<=m;j++){
int len=r[j]-l[j]-1;
int area=len*h[j];
ans=max(ans,area);
}
}
cout<<3*ans<<endl;
return 0;
}