Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- public class L05_MaximumSumOf2X2Submatrix {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- int[][] matrix = readMatrix(scanner);
- int biggestSum = Integer.MIN_VALUE;
- int biggestSumRow1 = -1;
- int biggestSumCols2 = -1;
- int biggestSumRow2 = -1;
- int biggestSumCols1 = -1;
- for (int row = 0; row < matrix.length - 1; row++) {
- for (int col = 0; col < matrix[row].length - 1; col++) {
- int currentSum = matrix[row][col] + matrix[row + 1][col] + matrix[row][col + 1] + matrix[row + 1][col + 1];
- if (currentSum > biggestSum) {
- biggestSum = currentSum;
- biggestSumRow1 = matrix[row][col];
- biggestSumRow2 = matrix[row + 1][col];
- biggestSumCols1 = matrix[row + 1][col + 1];
- biggestSumCols2 = matrix[row][col + 1];
- }
- }
- }
- System.out.println(biggestSumRow1 + " " + biggestSumCols2);
- System.out.println(biggestSumRow2 + " " + biggestSumCols1);
- System.out.println(biggestSum);
- }
- private static int[][] readMatrix(Scanner scanner) {
- String[] input = scanner.nextLine().split(", ");
- int rows = Integer.parseInt(input[0]);//2
- int cols = Integer.parseInt(input[1]);//3
- int[][] matrix = new int[rows][cols];
- for (int row = 0; row < rows; row++) {
- String[] numbersToPut = scanner.nextLine().split(", ");
- for (int col = 0; col < cols; col++) {
- matrix[row][col] = Integer.parseInt(numbersToPut[col]);
- }
- }
- return matrix;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement