最大01 矩阵 http://acm.nuaa.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1017 这个在输入数据时候只能用printf ,用cin会超时 #include<iostream> #include<stdio.h> #define MAX 2004 int l[MAX],r[MAX],g[MAX][MAX],h[MAX]; int main(int argc, char *argv[]) { int n; scanf("%d",&n); int i,j;int sum=0; for(i=1;i<=n;++i) { for(j=1;j<=n;++j) scanf("%d",&g[i][j]); for(j=1;j<=n;++j) { if(g[i][j])h[j]=0; else h[j]++; } for(j=1;j<=n;++j){ l[j]=j; while(l[j]-1>=1 && h[l[j]-1]>=h[j]) l[j]=l[l[j]-1]; } for(j=n;j>=1;--j){ r[j]=j; while(r[j]+1<=n && h[r[j]+1]>=h[j]) r[j]=r[r[j]+1]; } for(j=1;j<=n;++j){ int tmp=(r[j]-l[j]+1)*h[j]; if(sum<tmp)sum=tmp; } } printf("%d",sum); return 0; }