zoj 1074||poj 1050 To the Max
阿新 • • 發佈:2019-02-05
#include<cstdio> #include<iostream> #include<cstring> #define N 101 using namespace std; int submatrix(int *a,int n){ int i; int MAX=0; int sub=0; for(i=0;i<n;i++){ if(sub>0){ sub+=a[i]; } else{ sub=a[i]; } if(sub>MAX) MAX=sub; } return MAX; } int n; int matrix[N][N]; int a[N]; int maxsubmatrix=0; int main(){ int i,j,k; cin>>n; for(i=0;i<n;i++) for(j=0;j<n;j++) cin>>matrix[i][j]; for(k=0;k<n;k++){ memset(a,0,sizeof(a)); for(i=k;i<n;i++){ for(j=0;j<n;j++) a[j]+=matrix[i][j]; maxsubmatrix=max(maxsubmatrix,submatrix(a,n)); } } cout<<maxsubmatrix<<endl; return 0; }