Problema de las 8 Reinas en Python: Código y Explicación

Esta página demuestra cómo resolver el problema de las 8 reinas en Python. Encontrarás ejemplos de código claros, explicaciones y consejos para entender e implementar la solución.

Código Python para el problema de las 8 reinas

Ejemplo de Código en Python

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

print(solve_nqueens(8))

¿Cómo Funciona el Código?

La función solve_nqueens utiliza recursión y retroceso (backtracking) para explorar todas las posibles ubicaciones de las reinas. La función is_safe verifica conflictos, y la función backtrack prueba cada columna en la fila actual. Cuando se encuentra una disposición válida, se agrega a la lista de soluciones.

Consejos para Entender

Preguntas Frecuentes

¿Cómo se resuelve el problema de las 8 reinas en Python?

Puedes resolver el problema de las 8 reinas en Python usando recursión y retroceso (backtracking). El código verifica conflictos antes de colocar cada reina y retrocede si es necesario.

¿Existe un código Python sencillo para el problema de las 8 reinas?

Sí, una función concisa en Python puede resolver el problema de las 8 reinas usando un enfoque de retroceso (backtracking).

Ver la solución paso a paso →