n 皇后问题 研究的是如何将 n 个皇后放置在 n × n 的棋盘上,并且使皇后彼此之间不能相互攻击。
给你一个整数 n ,返回 n 皇后问题 不同的解决方案的数量。

我严重怀疑官方把51、52题放反了...,51会了52就会了.
LeetCode刷题(python版)——Topic51N 皇后
- def totalNQueens(self, n):
- def backtracking(n,row,ans):
- if row == n:
- ans[0] += 1
- return
- for col in range(n):
- if not isValid(row,col):
- continue
- flag[row] = col
- backtracking(n,row+1,ans)
- flag[row] = -1
- def isValid(row,col):
- res = True
- for i in range(row):
- if flag[i] == -1:
- continue
- if flag[i] == col or row-i+flag[i]==col or flag[i]-row+i==col:
- res = False
- return res
- ans = [0]
- flag = [-1 for _ in range(n)]
- backtracking(n,0,ans)
- return ans[0]
