1 solutions
-
0
C :
#include<stdio.h> const int N=100; int maxsum(int m,int n,int mat[][N]) { int matsum[N][N+1],ret,sum,i,j,k; for(i=0;i<m;i++) for(matsum[i][j=0]=0;j<n;j++) matsum[i][j+1]=matsum[i][j]+mat[i][j]; for(ret=mat[0][j=0];j<n;j++) for(k=j;k<n;k++) for(sum=0,i=0;i<m;i++) { sum=(sum>0?sum:0)+matsum[i][k+1]-matsum[i][j]; ret=(sum>ret?sum:ret); } return ret; } int main() { int n,i,j,g[N][N]; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d",&g[i][j]); printf("%d\n",maxsum(n,n,g)); } return 0; }
C++ :
#include<stdio.h> const int N=100; int maxsum(int m,int n,int mat[][N]) { int matsum[N][N+1],ret,sum,i,j,k; for(i=0;i<m;i++) for(matsum[i][j=0]=0;j<n;j++) matsum[i][j+1]=matsum[i][j]+mat[i][j]; for(ret=mat[0][j=0];j<n;j++) for(k=j;k<n;k++) for(sum=0,i=0;i<m;i++) { sum=(sum>0?sum:0)+matsum[i][k+1]-matsum[i][j]; ret=(sum>ret?sum:ret); } return ret; } int main() { int n,i,j,g[N][N]; while(scanf("%d",&n)!=EOF) { for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d",&g[i][j]); printf("%d\n",maxsum(n,n,g)); } return 0; }
Java :
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); for (; sc.hasNext();) { int n = sc.nextInt(); int[][] array = new int[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { array[i][j] = sc.nextInt(); } } System.out.println(maxSubMatrixSum(array)); } sc.close(); } private static int maxSubMatrixSum(int[][] mat) { int ret, sum, i, k; int j = 0; int[][] matsum = new int[mat.length][mat.length + 1]; for (i = 0; i < mat.length; i++) for (j = 0,matsum[i][j] = 0; j < mat.length; j++){ matsum[i][j + 1] = matsum[i][j] + mat[i][j]; } for (j = 0,ret = mat[0][0]; j < mat.length; j++) for (k = j; k < mat.length; k++) for (sum = 0, i = 0; i < mat.length; i++) { sum = (sum > 0 ? sum : 0) + matsum[i][k + 1] - matsum[i][j]; ret = (sum > ret ? sum : ret); } return ret; } }
- 1
Information
- ID
- 728
- Time
- 1000ms
- Memory
- 32MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By