Advertisement
vladimirVenkov

SpiralMatrix

Jun 20th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.60 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4.  
  5. public class SpiralMatrixBuilder {
  6.     static void fillRight(int[][] matrix, int row, int col, int fill) {
  7.         while (matrix[row][col + 1] != 0 && col + 1 < matrix[0].length) {
  8.             matrix[row][col + 1] = fill;
  9.             fill++;
  10.             col++;
  11.         }
  12.     }
  13.     public static void main(String[] args) throws IOException {
  14.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  15.         int n = Integer.parseInt(br.readLine());
  16.         int [][] matrix = new int[n][n];
  17.         fillSpiral(matrix, 0, 0);
  18.         printMatrix(matrix);
  19.     }
  20.     static int fill = 1;
  21.     static void fillSpiral(int[][] matrix, int x, int y) {
  22.         if (x >= matrix.length || y >= matrix[0].length || y < 0) return;
  23.         if(matrix[x][y] != 0 ) return;
  24.         matrix[x][y] = fill;
  25.         fill ++;
  26.         fillSpiral(matrix, x, y + 1);
  27.  
  28.         printMatrix(matrix);
  29.         System.out.println();
  30.  
  31.         fillSpiral(matrix, x + 1, y);
  32.  
  33.         printMatrix(matrix);
  34.         System.out.println();
  35.  
  36.         fillSpiral(matrix, x, y - 1);
  37.  
  38.         printMatrix(matrix);
  39.         System.out.println();
  40.  
  41.         fillSpiral(matrix, x - 1, y);
  42.        
  43.         printMatrix(matrix);
  44.         System.out.println();
  45.     }
  46.     static void printMatrix(int[][] matr) {
  47.         for (int i = 0; i < matr.length; i++) {
  48.             for (int j = 0; j < matr[0].length; j++) {
  49.                 System.out.print(matr[i][j]);
  50.             }
  51.             System.out.println();
  52.         }
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement