怎么回事,样例AC了,只有30分???
查看原帖
怎么回事,样例AC了,只有30分???
1270755
yiran_zhang楼主2025/8/2 20:13
#include<bits/stdc++.h>
using namespace std;
int w[20][20];
int v[20][20];
int n,m;
bool pass(int a,int b,int c,int d)
{
	int bai=0;
	int hei=0;
	for(int i=a;i<=b;i++)
	{
		for(int j=c;j<=d;j++)
		{
			if(v[i][j]==0)
			{
				bai++;
			}
			else hei++;
		}
	}
	return bai==hei;
}
int main()
{
	int ans=0;
	cin>>n>>m;
	int j=1;
	for(int i=0;i<n;i++)
	{
		string k;
		cin>>k;
		for(int j=0;j<k.length();j++)
		{
			w[i][j]=k[j]-'0';
			if(w[i][j]==-48)
			{
				w[i][j]=0;
			}
		}
	}
	int h=1;
	for(int i=1;i<=n;i++)
	{
		for(int j=m;j>=0;j--)
		{
			v[i][h]=w[i][j];
			h++;
		}
	}
	for(int a=0;a<n;a++)
	{
		for(int b=0;b<m;b++)
		{
			for(int c=0;c<n;c++)
			{
				for(int d=0;d<m;d++)
				{
					if(pass(a,b,c,d))
					{
						ans=max(ans,(c-a+1)*(d-b+1));
					}
				}
			}
		}
	}
	cout<<ans<<endl;
}
/*4 5
00000
01111
00011
00011
*/
2025/8/2 20:13
加载中...