题意:求最大矩阵和
将二维转化为一维的
#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;
}