求助,本地和cf上输出不一样
查看原帖
求助,本地和cf上输出不一样
225991
_lxy_楼主2021/11/12 17:25
#include <bits/stdc++.h>
using namespace std;
const int MAXN=27;
int n,m,ans;
bool a[MAXN][MAXN],b[MAXN][MAXN][MAXN][MAXN];
char s[MAXN];
int main()
{
	scanf("%d%d",&n,&m);
	int i,j,k,l;
	for(i=0;i<n;i++)
	{
		scanf("%s",s);
		for(j=0;j<m;j++) a[i][j]=(s[j]=='1'),b[i][j][i][j]=a[i][j];
	}
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			for(k=i;k<n;k++)
				for(l=j;l<m;l++)
					b[i][j][k][l]=(b[i][j][k][l-1]||b[i][j][k-1][l]||a[k][l]);
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			for(k=i;k<n;k++)
			{
				for(l=j;l<m;l++)
				{
					if(b[i][j][k][l]) continue;
					ans=max(ans,2*((k-i+1)+(l-j+1)));
				}
			}
		}
	}
	printf("%d\n",ans);
	return 0;
}
2021/11/12 17:25
加载中...