Advertisement
Georgi_Benchev

Untitled

Oct 8th, 2024
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.99 KB | None | 0 0
  1. package Telerik_Alpha_Java_2024.CodingTasks_1;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5.  
  6. public class Task4_KnightMoves {
  7.     public static void main(String[] args) {
  8.         Scanner scanner = new Scanner(System.in);
  9.         int n = Integer.parseInt(scanner.nextLine());
  10.         int[][] chesBoard = new int[n][n];
  11.  
  12.         int count = 1;
  13.         int cordinatesRow = 0;
  14.         int cordinatesCol = 0;
  15.  
  16.         while (count <= n * n) {
  17.             if (chesBoard[cordinatesRow][cordinatesCol] == 0) {
  18.                 chesBoard[cordinatesRow][cordinatesCol] = count;
  19.             }
  20.  
  21.             if (cordinatesRow - 2 >= 0 && cordinatesCol - 1 >= 0 && chesBoard[cordinatesRow - 2][cordinatesCol - 1] == 0) {
  22.                 cordinatesRow -= 2;
  23.                 cordinatesCol -= 1;
  24.             } else if (cordinatesRow - 2 >= 0 && cordinatesCol + 1 < n && chesBoard[cordinatesRow - 2][cordinatesCol + 1] == 0) {
  25.                 cordinatesRow -= 2;
  26.                 cordinatesCol += 1;
  27.             } else if (cordinatesRow - 1 >= 0 && cordinatesCol - 2 >= 0 && chesBoard[cordinatesRow - 1][cordinatesCol - 2] == 0) {
  28.                 cordinatesRow -= 1;
  29.                 cordinatesCol -= 2;
  30.             } else if (cordinatesRow - 1 >= 0 && cordinatesCol + 2 < n && chesBoard[cordinatesRow - 1][cordinatesCol + 2] == 0) {
  31.                 cordinatesRow -= 1;
  32.                 cordinatesCol += 2;
  33.             } else if (cordinatesRow + 1 < n && cordinatesCol - 2 >= 0 && chesBoard[cordinatesRow + 1][cordinatesCol - 2] == 0) {
  34.                 cordinatesRow += 1;
  35.                 cordinatesCol -= 2;
  36.             } else if (cordinatesRow + 1 < n && cordinatesCol + 2 < n && chesBoard[cordinatesRow + 1][cordinatesCol + 2] == 0) {
  37.                 cordinatesRow += 1;
  38.                 cordinatesCol += 2;
  39.             }  else if (cordinatesRow + 2 < n && cordinatesCol - 1 >= 0 && chesBoard[cordinatesRow + 2][cordinatesCol - 1] == 0) {
  40.                 cordinatesRow += 2;
  41.                 cordinatesCol -= 1;
  42.             }else if (cordinatesRow + 2 < n && cordinatesCol + 1 < n && chesBoard[cordinatesRow + 2][cordinatesCol + 1] == 0) {
  43.                 cordinatesRow += 2;
  44.                 cordinatesCol += 1;
  45.             } else {
  46.                 boolean check = true;
  47.                 for (int row = 0; row < n; row++) {
  48.                     if (check) {
  49.                         for (int col = 0; col < n; col++) {
  50.                             if (chesBoard[row][col] == 0) {
  51.                                 cordinatesRow = row;
  52.                                 cordinatesCol = col;
  53.                                 check = false;
  54.                                 break;
  55.                             }
  56.                         }
  57.                     }
  58.                 }
  59.             }
  60.  
  61.             count++;
  62.         }
  63.  
  64.         for (int[] line : chesBoard) {
  65.             for (int num : line) {
  66.                 System.out.print(num + " ");
  67.             }
  68.             System.out.println();
  69.         }
  70.  
  71.  
  72.     }
  73. }
  74.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement