

题目大意为给定一个N阶举证(1小于N小于100),矩阵中每一个元素的范围满足[-100,100],请你在这个N阶矩阵中任意找到一个a行b列(a可以等于b)的子矩阵,使得该a行b列子矩阵的所有元素
的和最大。例如:
0 -2 -7 0
9 2 -6 2
-4 1 -4 1
-1 8 0 -2
中
9 2
-4 1
-1 8
这个矩阵最大,和为15。找出给定矩阵中子矩阵的最大值
输入: 多组输入,格式为
第一行N,表示矩阵的大小
接下来的N行每行N个整数,表示该矩阵第i行的元素
如果第一行输入的N为0,表示输入结束
#include
#define N 4
void main()
{
int i,j,m,n,k=0,l=0,x,y;
int sum[N*N*N*N]={0};
int A[N][N]={{0,-2,-7,0},{9,2,-6,2},{-4,1,-4,1},{-1,8,0,-2}};
for(i=0;i
for(j=0;j
printf("---------%d-----%d---\n",i,j);
for(m=0;m+i
for(n=0;n+j
printf("***********m+i%d*********n+j%d",m,n);
for(x=i;x<=m+i;x++)
for(y=j;y<=n+j;y++)
sum[k]+=A[x][y];
printf(" ****sum %d***A %d*****\n",sum[k],A[m+i][n+j]);
k++;
}
k++;
}
for(m=0;m
if(sum[0]
sum[0]=sum[m];
printf("*******真正见证奇迹的时刻****%d\n",sum[0]);
}