#N Queens problem using Backtracking
x = {}
def nqueen(k, n):
for i in range(1, n+1):
if place(k, i):
x[k] = i
if k == n:
print x
else:
nqueen(k+1, n)
def place(row, col):
for j in range(1, row):
if x[j] == col or abs(j-row) == abs(x[j]-col):
return False
return True
n = input("Enter the number of queens : ")
nqueen(1, n)
x = {}
def nqueen(k, n):
for i in range(1, n+1):
if place(k, i):
x[k] = i
if k == n:
print x
else:
nqueen(k+1, n)
def place(row, col):
for j in range(1, row):
if x[j] == col or abs(j-row) == abs(x[j]-col):
return False
return True
n = input("Enter the number of queens : ")
nqueen(1, n)