标签:cout open ges 并且 ide 最大 char int class
第1行:2个数m,n中间用空格分隔(2 <= m,n <= 500) 第2 - N + 1行:每行m个数,中间用空格分隔,均为0或1。
输出最大全是1的子矩阵的面积。
3 3 1 1 0 1 1 1 0 1 1
4
1 #include <cstdio> 2 #include <cctype> 3 #include <iostream> 4 5 typedef long long LL; 6 7 const int INF=1000000; 8 const int MAXN=510; 9 10 int n,m; 11 12 int a[MAXN][MAXN]; 13 14 LL ans; 15 16 inline void read(int&x) { 17 int f=1;register char c=getchar(); 18 for(x=0;!isdigit(c);c==‘-‘&&(f=-1),c=getchar()); 19 for(;isdigit(c);x=x*10+c-48,c=getchar()); 20 x=x*f; 21 } 22 23 24 int hh() { 25 read(n);read(m); 26 for(int i=1;i<=n;++i) 27 for(int j=1;j<=m;++j) { 28 read(a[i][j]); 29 if(!a[i][j]) a[i][j]=-INF; 30 a[i][j]+=a[i-1][j]; 31 } 32 for(int i=0;i<=n;++i) 33 for(int j=i+1;j<=n;++j) { 34 LL tot=0; 35 for(int k=1;k<=m;++k) { 36 if(tot<0) tot=a[j][k]-a[i][k]; 37 else tot+=a[j][k]-a[i][k]; 38 ans=tot>ans?tot:ans; 39 } 40 } 41 std::cout<<ans; 42 return 0; 43 } 44 45 int sb=hh(); 46 int main(int argc,char**argv) {;}
标签:cout open ges 并且 ide 最大 char int class
原文地址:http://www.cnblogs.com/whistle13326/p/7647382.html