Advertisement
Guest User

Untitled

a guest
Feb 13th, 2021
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.13 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Scanner;
  3.  
  4. class Main {
  5.     public static void main(String[] args) {
  6.         Scanner scanner = new Scanner(System.in);
  7.         String inputString;
  8.         StringBuilder stringBuilder = new StringBuilder();
  9.         int arrayLength = 0;
  10.         while (scanner.hasNextLine()) {
  11.             inputString = scanner.nextLine();
  12.             if (!inputString.equals("end")) {
  13.                 stringBuilder.append(inputString).append("/");
  14.                 arrayLength++;
  15.             }
  16.         }
  17.         String[][] arr = Arrays.stream(stringBuilder.substring(0, stringBuilder.length()).split("/"))
  18.                 .map(e -> Arrays.stream(e.split(" "))
  19.                         .toArray(String[]::new)).toArray(String[][]::new);
  20.         if (arrayLength == 1) {
  21.             for (int i = 0; i < arr.length; i++) {
  22.                 int iPlusAndMinusOne = Integer.parseInt(arr[i][0]);
  23.                 int jPlusOne = (i >= arr.length - 1) ? Integer.parseInt(arr[0][0]) : Integer.parseInt(arr[i + 1][0]);
  24.                 int jMinusOne = (i <= arrayLength - 1) ? Integer.parseInt(arr[arr.length - 1][0]) : Integer.parseInt(arr[i - 1][0]);
  25.                 int number = iPlusAndMinusOne + iPlusAndMinusOne + jPlusOne + jMinusOne;
  26.                 if (i == arr.length - 1) {
  27.                     System.out.print(number);
  28.                 } else {
  29.                     System.out.print(number + " ");
  30.                 }
  31.             }
  32.         } else {
  33.             for (int i = 0; i < arrayLength; i++) {
  34.                 for (int j = 0; j < arr.length; j++) {
  35.                     int minusIOne = Integer.parseInt(arr[(i - 1 + arr.length) % arr.length][j]);
  36.                     int plusIOne = Integer.parseInt(arr[(i + 1 + arr.length) % arr.length][j]);
  37.                     int minusJOne = Integer.parseInt(arr[i][(j - 1 + arr.length) % arr.length]);
  38.                     int plusJOne = Integer.parseInt(arr[i][(j + 1 + arr.length) % arr.length]);
  39.                     System.out.print(minusIOne + plusIOne + minusJOne + plusJOne + " ");
  40.                 }
  41.                 System.out.println();
  42.             }
  43.         }
  44.     }
  45. }
  46.  
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement