F题 求最大矩阵的和

来源:互联网 发布:js点击空白处隐藏 编辑:程序博客网 时间:2024/04/30 15:17

                                **************推荐大牛的博文**************

http://www.matrix67.com/blog/archives/276

#include<iostream>#include <cstdio>#include <cstring>using namespace std;int main(){const int size = 101;int Max,sum;int N,i,j,k,val,a[size][size];while (scanf("%d",&N)!=EOF){memset(a,0,sizeof(a));Max = -128;for(i=1;i<=N;i++)for(j=1;j<=N;j++){scanf("%d",&val);a[i][j]+=a[i][j-1]+val;//a[i][j]表示第i行前j个数之和}for(i=1;i<=N;i++)for (j=i;j<=N;j++)for(sum = 0,k=1;k<=N;k++){//a[k][j]-a[k][i-1]表示第k行第j列与第i列之间的数sum=(sum>0?sum:0)+a[k][j]-a[k][i-1];if(sum>Max)Max = sum;}printf("%d\n",Max);}}


 

原创粉丝点击