← Backtracking

Micro-Drill #185 — N-Queens valid check

Backtracking Target: 10s

Store queen positions as board[row] = col. Check column clash and diagonal clash (|col_diff| == row_diff).

def is_valid(board, row, col, n):
    for i in range(row):
        if board[i] == col:          return False  # same column
        if abs(board[i]-col) == row-i: return False  # diagonal
    return True

# board[i] = column of queen in row i

Type it from memory. Go.

Practice Problems

Related Coding Drills

← Micro #184 Micro #186 →