Đang tải…
Đang tải…
Đặt N quân hậu lên bàn cờ N×N sao cho không quân nào cùng hàng, cột hay đường chéo — thử từng cột theo hàng và quay lui khi xung đột.
Đặt 6 quân hậu sao cho không quân nào chiếu nhau.
1boolean solve(int[] board, int row, int n) {2 if (row == n) return true; // xếp đủ hàng — thành công3 for (int col = 0; col < n; col++) // thử từng cột4 if (isSafe(board, row, col)) { // không hậu nào chiếu5 board[row] = col; // đặt quân hậu6 if (solve(board, row+1, n)) return true; // đệ quy sang hàng kế7 board[row] = -1; // quay lui: bỏ hậu8 }9 return false;10}11 12boolean isSafe(int[] board, int row, int col) { // kiểm tra các hậu đã đặt13 for (int r = 0; r < row; r++) {14 int c = board[r];15 if (c == col || Math.abs(c-col) == row-r) return false; // cùng cột hoặc đường chéo16 }17 return true; // không xung đột — an toàn18}