ZOJ 1074
来源:互联网 发布:web 3d引擎 python 编辑:程序博客网 时间:2024/06/03 19:16
这是一道求最大子矩阵题目,这是别人的代码,我看了好久,才明白他的思路:#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn=105;int a[maxn][maxn];int sum[maxn];int n;int main(){ int i,j,k,maxn; while(cin>>n) { maxn=-9999999; for(i=1; i<=n; i++) { for(j=1; j<=n; j++) { scanf("%d",&a[i][j]); } } for(i=1; i<=n; i++) { memset(sum,0,sizeof(sum)); for(j=i; j<=n; j++) { for(k=1; k<=n; k++) { sum[k]+=a[j][k]; } int ans=0; for(k=1; k<=n; k++) { ans+=sum[k]; if(ans<0)ans=0; else if(ans>maxn) { maxn=ans; } } } } cout<<maxn<<endl; } return 0;}