实现
queenNum = 8
queenList = [0] * 8
resolveCount = 0
# 从第一个皇后开始放,列表的下表就是第i+1个皇后,值就是列
def check(n=0):
if n == queenNum:
global resolveCount
resolveCount += 1
print_list()
return
# 列
for i in range(queenNum):
queenList[n] = i
if judge(n):
check(n + 1)
# 判断第n个皇后是否和前n - 1个冲突
def judge(n):
for i in range(n):
if queenList[i] == queenList[n] or abs(n - i) == abs(queenList[n] - queenList[i]):
return False
return True
def print_list():
for i in range(8):
print(queenList[i], end=",")
print()
check(0)
print(resolveCount)