Skip to content

Instantly share code, notes, and snippets.

@seisvelas
Created November 26, 2018 21:28
Show Gist options
  • Save seisvelas/7d0564f1cb59a296dd8f9763cadb0ecd to your computer and use it in GitHub Desktop.
Save seisvelas/7d0564f1cb59a296dd8f9763cadb0ecd to your computer and use it in GitHub Desktop.
This prints empty list!
queens = []
def legalize(past):
row = [0 for i in range(8)]
for p_row in range(len(past)):
for i in range(len(past[p_row])):
if past[p_row][i] == "Q":
row[i] = 1
if i - p_row >= 0:
row[i - p_row] = 1
if i + p_row <= 7:
row[i + p_row] = 1
return row
def eight_queens(past=[]):
#print(past)
if not past:
past += [[1 for i in range(8)]]
print(past)
for i in range(8):
past[0][i] = "Q"
eight_queens(past)
past[0][i] = 1
else:
if len(past) == 8:
queens.append(past)
else:
#print(past)
new_row = legalize(past)
#print(new_row)
for n_row in range(len(new_row)):
if new_row[n_row] == 0:
new_row[n_row] = "Q"
eight_queens(past + [new_row])
new_row[n_row] = 0
eight_queens()
print(queens)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment