Advertisement
sweet1cris

Untitled

Jan 9th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.94 KB | None | 0 0
  1. public class Solution {
  2.     public static int sum;
  3.     public int totalNQueens(int n) {
  4.         sum = 0;
  5.         int[] usedColumns = new int[n];
  6.         placeQueen(usedColumns, 0);
  7.         return sum;
  8.     }
  9.     public void placeQueen(int[] usedColumns, int row) {
  10.         int n = usedColumns.length;
  11.        
  12.         if (row == n) {
  13.             sum ++;
  14.             return;
  15.         }
  16.        
  17.         for (int i = 0; i < n; i++) {
  18.             if (isValid(usedColumns, row, i)) {
  19.                 usedColumns[row] = i;
  20.                 placeQueen(usedColumns, row + 1);
  21.             }
  22.         }
  23.     }
  24.     public boolean isValid(int[] usedColumns, int row, int col) {
  25.         for (int i = 0; i < row; i++) {
  26.             if (usedColumns[i] == col) {
  27.                 return false;
  28.             }
  29.             if ((row - i) == Math.abs(col-usedColumns[i])) {
  30.                 return false;
  31.             }
  32.         }
  33.         return true;
  34.     }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement