Soluciones en Python para el Problema de las Ocho Reinas
Esta página presenta soluciones en Python para el problema de las ocho reinas. Encontrarás código, explicaciones y una salida de ejemplo para ayudarte a entender e implementar la solución.

Código Python para el Problema de las Ocho Reinas
def solve_nqueens(n):
solutions = []
board = []
def is_safe(row, col):
for r, c in enumerate(board):
if c == col or abs(row - r) == abs(col - c):
return False
return True
def backtrack(row=0):
if row == n:
solutions.append(list(board))
return
for col in range(n):
if is_safe(row, col):
board.append(col)
backtrack(row + 1)
board.pop()
backtrack()
return solutions
for sol in solve_nqueens(8):
print(sol)
Salida de Ejemplo
[0, 4, 7, 5, 2, 6, 1, 3]
[0, 5, 7, 2, 6, 3, 1, 4]
[0, 6, 3, 5, 7, 1, 4, 2]
... (total 92 soluciones)
Explicación
Cada solución es una lista de índices de columna para cada fila. Por ejemplo, [0, 4, 7, 5, 2, 6, 1, 3]
significa que la reina en la fila 0 está en la columna 0, la de la fila 1 en la columna 4, y así sucesivamente. Esta representación compacta facilita el procesamiento y la visualización de las soluciones de forma programática.
Preguntas Frecuentes
¿Cuál es la solución en Python para el problema de las ocho reinas?
Una solución en Python utiliza recursión y retroceso (backtracking) para encontrar todas las disposiciones válidas de las reinas en el tablero.
¿Puedo ver la salida del problema de las ocho reinas en Python?
Sí, esta página muestra una salida de ejemplo para el problema de las ocho reinas usando código Python.