第二条题解
2024-10-15 19:56:40
发布于:北京
0阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
char a[405][405];
int sum[405][405];
int r,s,ans=-10000;
int main()
{
scanf("%d%d",&r,&s);
for(int i=1;i<=r;i++)
scanf("%s",a[i]+1);
for(int i=1;i<=r;i++)
for(int j=1;j<=s;j++)
if(a[i][j]=='X') sum[i][j]=sum[i][j-1]+1;
else sum[i][j]=sum[i][j-1];
for(int ll=1;ll<=s;ll++)
for(int rr=ll;rr<=s;rr++)
{
int maxn=0,len=0;
for(int i=1;i<=r;i++)
{
if(sum[i][rr]-sum[i][ll-1]==0) len++,maxn=max(maxn,len);
else len=0;
}
if(maxn==0) continue;
ans=max(ans,maxn*2+(rr-ll+1)*2-1);
}
printf("%d",ans);
}
这里空空如也
有帮助,赞一个