Advertisement
Guest User

Untitled

a guest
Jan 20th, 2020
471
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class L05_MaximumSumOf2X2Submatrix {
  4. public static void main(String[] args) {
  5. Scanner scanner = new Scanner(System.in);
  6. int[][] matrix = readMatrix(scanner);
  7.  
  8. int biggestSum = Integer.MIN_VALUE;
  9. int biggestSumRow1 = -1;
  10. int biggestSumCols2 = -1;
  11. int biggestSumRow2 = -1;
  12. int biggestSumCols1 = -1;
  13. for (int row = 0; row < matrix.length - 1; row++) {
  14. for (int col = 0; col < matrix[row].length - 1; col++) {
  15. int currentSum = matrix[row][col] + matrix[row + 1][col] + matrix[row][col + 1] + matrix[row + 1][col + 1];
  16. if (currentSum > biggestSum) {
  17. biggestSum = currentSum;
  18. biggestSumRow1 = matrix[row][col];
  19. biggestSumRow2 = matrix[row + 1][col];
  20. biggestSumCols1 = matrix[row + 1][col + 1];
  21. biggestSumCols2 = matrix[row][col + 1];
  22. }
  23. }
  24. }
  25.  
  26. System.out.println(biggestSumRow1 + " " + biggestSumCols2);
  27. System.out.println(biggestSumRow2 + " " + biggestSumCols1);
  28. System.out.println(biggestSum);
  29. }
  30.  
  31. private static int[][] readMatrix(Scanner scanner) {
  32. String[] input = scanner.nextLine().split(", ");
  33. int rows = Integer.parseInt(input[0]);//2
  34. int cols = Integer.parseInt(input[1]);//3
  35.  
  36. int[][] matrix = new int[rows][cols];
  37.  
  38. for (int row = 0; row < rows; row++) {
  39. String[] numbersToPut = scanner.nextLine().split(", ");
  40. for (int col = 0; col < cols; col++) {
  41. matrix[row][col] = Integer.parseInt(numbersToPut[col]);
  42. }
  43. }
  44. return matrix;
  45. }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement