#include<stdio.h> #include<string.h> #include<stdlib.h> int map[100][100]; int val[100]; int Maxsum(int a[],int n){ int sum=0,max=-9999; for(int i=0;i<n;i++){ sum+=a[i]; if(sum>max) max=sum; } return max; } int main(){ int T,k; scanf("%d",&T); for(k=0;k<T;k++){ int n,i,j,k; scanf("%d",&n); int Max=-9999,max=0; for (i=0;i<n;i++){ for (j=0;j<n;j++){ scanf("%d",&map[i][j]); } } for (i=0;i<n;i++){ for(j=0;j<n;j++) val[j]=map[i][j]; max=Maxsum(val,n); if(max>Max) Max=max; for(k=i+1;k<n;k++){ for (j=0;j<n;j++){ val[j]+=map[k][j]; max=Maxsum(val,n); if(max>Max) Max=max; } } } for (i=0;i<n;i++){ for(j=0;j<n;j++) val[j]=map[j][i]; max=Maxsum(val,n); if(max>Max) Max=max; for(k=1+i;k<n;k++){ for (j=0;j<n;j++){ val[j]+=map[j][k]; max=Maxsum(val,n); if(max>Max) Max=max; } } } printf("%d\n",Max); } return 0; } |
Double click to view unformatted code.