比赛 ZLXSCDay2 评测结果 AAAAAAAAAAAAA
题目名称 哞哞城堡 最终得分 100
用户昵称 葳棠殇 运行时间 0.559 s
代码语言 C++ 内存使用 0.35 MiB
提交时间 2016-04-10 17:00:20
显示代码纯文本
#include <cstdio>
#include <algorithm>
using namespace std;
int g[205][205];
int n,m;
char s[205];
int Sum(int a,int b,int c,int d){
	return g[c+1][d+1]-g[a][d+1]-g[c+1][b]+g[a][b];
}
int main(){
	freopen("fortmoo.in","r",stdin);
	freopen("fortmoo.out","w",stdout);
	scanf("%d%d",&n,&m);
	for(int i=0;i<n;i++){
		scanf("%s",s);
		for(int j=0;j<m;j++){
			g[i+1][j+1]=g[i][j+1]+g[i+1][j]-g[i][j];
			if(s[j]=='X')g[i+1][j+1]++;
		}
	}
	int ret=0;
	for(int j=0;j<m;j++){
		for(int k=j;k<m;k++){
			int last=-1;
			for(int i=0;i<n;i++){
				bool flag=Sum(i,j,i,k)==0;
				if(flag)ret=max(ret,k-j+1);
				if(flag&&last>=0)ret=max(ret,(i-last+1)*(k-j+1));
				if(Sum(i,k,i,k)>0||Sum(i,j,i,j)>0)last=-1;
				if(flag&&last==-1)last=i;
			}
		}
	}
	printf("%d\n",ret);
}