Advertisement
Ligh7_of_H3av3n

11. Reverse Matrix Diagonals

May 17th, 2024
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.59 KB | None | 0 0
  1. package Uprajnenie;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.Arrays;
  7.  
  8. public class ReverseMatrixDiagonals {
  9.         public static void main(String[] args) throws IOException {
  10.  
  11.  
  12.             BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  13.  
  14.             int[] dimensions = Arrays.stream(reader.readLine().trim().split("\\s+")).mapToInt(Integer::parseInt).toArray();
  15.             int rows = dimensions[0];
  16.             int cols = dimensions[1];
  17.  
  18.             int[][] matrix = new int[rows][cols];
  19.  
  20.             for (int row = 0; row < rows; row++) {
  21.                 matrix[row] = Arrays.stream(reader.readLine().trim().split("\\s+")).mapToInt(Integer::parseInt).toArray();
  22.             }
  23.  
  24.             StringBuilder sb = new StringBuilder();
  25.  
  26.             for (int diagonal = cols - 1; diagonal >= 0; diagonal--) {
  27.                 int row = rows - 1;
  28.                 int col = diagonal;
  29.  
  30.                 while (row >= 0 && col < cols) {
  31.                     sb.append(matrix[row--][col++]).append(' ');
  32.                 }
  33.                 sb.append(System.lineSeparator());
  34.             }
  35.  
  36.             for (int startRow = rows - 2; startRow >= 0; startRow--) {
  37.                 int row = startRow;
  38.                 int col = 0;
  39.  
  40.                 while (row >= 0 && col < cols) {
  41.                     sb.append(matrix[row--][col++]).append(' ');
  42.                 }
  43.                 sb.append(System.lineSeparator());
  44.             }
  45.  
  46.             System.out.println(sb.toString().trim());
  47.         }
  48.     }
  49.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement