比赛 |
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);
}