RosettaCodeData/Task/N-queens-problem/Python/n-queens-problem-5.py

11 lines
329 B
Python

def queens(n: int, i: int, a: list, b: list, c: list):
if i < n:
for j in range(n):
if j not in a and i + j not in b and i - j not in c:
yield from queens(n, i + 1, a + [j], b + [i + j], c + [i - j])
else:
yield a
for solution in queens(8, 0, [], [], []):
print(solution)