defisValid(row, col, queenPos):for i in range(row):
if queenPos[i] == col or queenPos[i] + i == col + row or queenPos[i] - i == col - row:
returnFalsereturnTruedefbacktrack(row, queenPos, solutions):if row == 8:
solutions.append(queenPos[:])
returnfor col in range(8):
if isValid(row, col, queenPos):
queenPos[row] = col
backtrack(row + 1, queenPos, solutions)
defsolveNQueens():
queenPos = [-1] * 8
solutions = []
backtrack(0, queenPos, solutions)
for solution in solutions:
print(solution)
solveNQueens()