这是个好玩的东西 哈哈哈 不用说使用悬线法
对应codevs的1159 可以看看题目
代码很好理解 哦哈哈哈
#include<iostream>
using namespace std;
int tmp,l[2001],r[2001],n,ans,t[2001],h[2001];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
l[i]=r[i]=i;
for(int i=1;i<=n;i++)
{
tmp=1;
for(int j=1;j<=n;j++)
{
cin>>t[j];
if(!t[j]){
h[j]++;
}else h[j]=0;
if(t[j]==1)
tmp=j+1;
if(t[j]==0)
{
l[j]=max(l[j],tmp);
}else l[j]=1;
}
tmp=n;
for(int j=n;j>=1;j--)
{
if(t[j]==1)
tmp=j-1;
if(t[j]==0)
r[j]=min(r[j],tmp);
else r[j]=n;
ans=max(ans,(r[j]-l[j]+1)*h[j]);
}
}
cout<<ans;
}