题目大意
n×n 的跳棋棋盘,有n个棋子被放置在棋盘上,使得每行、每列有且只有一个
每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。
并把它们以上面的序列方法输出,解按字典顺序排列。输出前 3 个解。然后输出一行,表示解的总个数。
思路分析
用深搜枚举每一个可能的位置,本次递归是本轮一行所有可能位置的枚举
确定一个位置后将他所在的列,左上右下对角线,左下右上对角线用是3个数组标记
后面的不能在这些位置上放棋子(行作为深搜递归的参数依次往下递归,无需记录)
放到最后一个时就找到了一种方法,输出并记录
代码实现