kalinikov

Numbers - Iteco

Dec 12th, 2019
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.84 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Scanner;
  3.  
  4. public class Numbers {
  5. public static void main(String[] args) {
  6. Scanner scanner = new Scanner(System.in);
  7.  
  8. int[][] matrix = readMatrix(scanner);
  9. int[][] biggerMatrix = new int[matrix.length + 2][matrix[0].length + 2];
  10.  
  11. for (int i = 0; i < biggerMatrix.length; i++) {
  12. for (int j = 0; j < biggerMatrix[i].length; j++) {
  13. if (i == 0 || i == biggerMatrix.length - 1 || j == 0 || j == biggerMatrix[i].length - 1) {
  14. biggerMatrix[i][j] = 0;
  15. } else {
  16. biggerMatrix[i][j] = matrix[i - 1][j - 1];
  17. }
  18. }
  19. }
  20.  
  21. int counter = 0;
  22.  
  23. for (int i = 1; i < biggerMatrix.length - 1; i++) {
  24. for (int j = 1; j < biggerMatrix[i].length - 1; j++) {
  25. if (sumElement(i, j, biggerMatrix) == biggerMatrix[i][j]) {
  26. counter++;
  27. }
  28. }
  29. }
  30.  
  31. System.out.println(counter);
  32.  
  33. }
  34.  
  35. private static int sumElement(int i, int j, int[][] matrix) {
  36. int sum = matrix[i - 1][j - 1] + matrix[i - 1][j] + matrix[i - 1][j + 1] +
  37. matrix[i][j - 1] + matrix[i][j + 1] +
  38. matrix[i + 1][j - 1] + matrix[i + 1][j] + matrix[i + 1][j +1];
  39.  
  40. return sum;
  41. }
  42.  
  43.  
  44. private static int[][] readMatrix(Scanner scanner) {
  45. int[] sizes = Arrays.stream(scanner.nextLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
  46.  
  47. int rows = sizes[0];
  48. int cols = sizes[1];
  49.  
  50. int[][] matrix = new int[rows][];
  51.  
  52. for (int i = 0; i < rows; i++) {
  53. matrix[i] = Arrays.stream(scanner.nextLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
  54. }
  55.  
  56. return matrix;
  57. }
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment