N Queen-1
N Queen-1
N=8
printSolution(board):
for i in range(N):
for j in range(N):
print()
rowLookup, slashCodeLookup,
backslashCodeLookup):
if (slashCodeLookup[slashCode[row][col]] or
backslashCodeLookup[backslashCode[row][col]] or
rowLookup[row]):
return False
return True
slashCode, backslashCode,
rowLookup, slashCodeLookup,
backslashCodeLookup):
N):
return True
for i in range(N):
rowLookup, slashCodeLookup,
backslashCodeLookup)):
board[i][col] = 1
rowLookup[i] = True
slashCodeLookup[slashCode[i][col]] = True
backslashCodeLookup[backslashCode[i][col]] = True
if(solveNQueensUtil(board, col + 1,
slashCode, backslashCode,
rowLookup, slashCodeLookup,
backslashCodeLookup)):
return True
board[i][col] = 0
rowLookup[i] = False
slashCodeLookup[slashCode[i][col]] = False
backslashCodeLookup[backslashCode[i][col]] = False
return False
for j in range(N)]
# helper matrices slashCode =
for j in range(N)]
rowLookup = [False] * N
1 slashCodeLookup = [False] * x
backslashCodeLookup = [False] * x
for rr in range(N):
for cc in range(N):
slashCode[rr][cc] = rr + cc
backslashCode[rr][cc] = rr - cc + 7
rowLookup, slashCodeLookup,
backslashCodeLookup) == False):
print("Solution does not exist")
return False
# solution found
printSolution(board)
return True
Output: