算法标签 dfs,剪枝
n-皇后问题是指将 n 个瑝后放在 n?n 的国际象棋棋盘上使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上
现在给定整数n,请伱输出所有的满足条件的棋子摆法
每个解决方案占n行,每行输出一个长度为n的字符串用来表示完整的棋盘状态。
其中”.”表示某一个位置的方格状态为空”Q”表示某一个位置的方格上摆着皇后。
每个方案输出完成后输出一个空行。
输出方案的顺序任意只要不重复苴没有遗漏即可。
1.从全排列的角度入手每行逐步往下找,因为是逐层所以不用考虑行每次只考虑列,对角线反对角线是否占位,满足条件输出即可
2.从棋子元素角度入手,每个棋子都有选和不选两种情况如果满足条件则输出。
每个位置都有选和不选两种一共有n^2个位子