记录编号 191329 评测结果 AAAAAAAAAA
题目名称 [Nescafé 20] 玉蟾宫 最终得分 100
用户昵称 Gravatar一個人的雨 是否通过 通过
代码语言 C++ 运行时间 1.996 s
提交时间 2015-10-07 07:36:13 内存使用 14.29 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
using namespace std;
const int maxn=1010;
int ans=0,n,m;
int U[maxn][maxn],R[maxn][maxn],L[maxn][maxn];
int mat[maxn][maxn];

int main(){
	freopen("jademoon.in","r",stdin);
	freopen("jademoon.out","w",stdout);
	scanf("%d%d",&n,&m);
	for (int i=0;i<n;++i)
	   for (int j=0;j<m;++j){
			getchar();
			char c; cin>>c;
			if (c=='F') mat[i][j]=0;
			else mat[i][j]=1;
	   }
	for (int i=0;i<n;++i){
		int lo=-1,ro=m;
		for (int j=0;j<m;++j)
		   if (mat[i][j]){
				U[i][j]=L[i][j]=0;
				lo=j;
		   }
		   else {
				U[i][j]= i==0? 1:U[i-1][j]+1;
				L[i][j]= i==0? lo+1:max(L[i-1][j],lo+1);
		   }
		for (int j=m-1;j>=0;--j)
		   if (mat[i][j]){
				R[i][j]=m+1;
				ro=j;
		   }
		   else{
				R[i][j]= i==0? ro-1:min(R[i-1][j],ro-1);
				ans=max(ans,U[i][j]*(R[i][j]-L[i][j]+1));
		   }
	}
	printf("%d",ans*3);
	//system("pause");
	return 0;
}