poj To the Max
题意:求最大矩阵和
将二维转化为一维的
#include<stdio.h> #include<string.h> int main() { int n,i,j,k; int map[130][130],mSum[130]; while(scanf("%d",&n)!=EOF) { int max=-1000000; for (i=0;i<n;i++) for (j=0;j<n;j++) scanf("%d",&map[i][j]); for (i=0;i<n;i++) { memset(mSum,0,sizeof(mSum)); for (j=i;j<n;j++) { for (k=0;k<n;k++) mSum[k]+=map[j][k]; int b=0,sum=0; for (k=0;k<n;k++) { b+=mSum[k]; if(b>sum) sum=b; if(b<0) b=0; } if(sum>max) max=sum; } } printf("%d\n",max); } return 0; }