@TOC
这两道题都是关于八皇后问题的,题目的要求就是在同行同列以及斜线上不能有另一个皇后,题目中所做出的解释不是很详细,在这里补充一下
详细解答
1 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0
0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1
0 1 0 0 0 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0
用这个样例做出解释
具体细节建议配合上文链接代码食用
这里的处理是xx,因为函数的处理都是以行数为结束对象,所以不需要记录行数。
这里的处理是x-i+10(行数-列数+10),可以发现,斜线上的点坐标之差都相等,例如点(3,3)和点(2,2),3-3=2-2=0,加10是因为可能出现负数,例如点(1,5),所以左上右下斜线就处理完毕了
这个点对于第三个yy的解释不太善良,在此我们换个点做出解释
这里我们可以看到点(3,5),相加后的值为8,而斜线上所有点的和都相同,所以在此我们就将所有题目中的要求处理完毕。
最后按照题目要求处理即可