例题是843:n-皇后问题 https://www.acwing.com/activity/content/problem/content/906/
在这个问题中任意两个皇后都不能处于同一行、同一列或同一斜线上,
所以当我们想利用这个条件剪枝时,需要在行,列,对角线上进行判断。
用dfs时搜索时行列是比较好判断的u代表x,i代表列即可,而对角线该如何处理呢?
此时我们想到y=x+b和y=-x+b,这是一个正方形棋盘,所以斜率绝对值是一,而我们要判断对角线上的某个位置是否合法,即判断下标为b的位置(单开一个对角线数组)是否被用过,移项后可得b=y-x和b=y+x;b一定是大于0的,所以对于第一个我们加上一个偏移量就行了,即加上棋盘的长度n,所以b=n+y-x.