n皇后问题
在 n × n n×n n×n 的国际象棋棋盘中放 n n n 个皇后,使得任意两个皇后都不能互相吃掉。规则是皇后能吃掉同一行、同一列、同一对角线的任意棋子。
模型建立
将 n n n 个皇后从 1 1 1 ~ n n n 编号,第 i i i 个皇后的位置设定为第 i i i 行,第 x i x_i xi 列,坐标 ( i , x i ) (i, x_i) (i,xi)。
要使得任意两个皇后都不能相互吃掉,那么 ( 1 , x 1 ) (1, x_1) (1,x1)、 ( 2 , x 2 ) (2, x_2) (2,x2)、… 、 ( n , x n ) (n, x_n) (n,xn),就不能在同一行、同一列、同一对角线。
由于 n n n 皇后是从 1 1 1 ~ n n n 编号的,所以不在同一行已经满足。
不在同一列,意味着 x 1 x_1 x1、 x 2 x_2 x2、… 、 x n x_n xn 必须两两不相等,而且范围是从 1 1 1 ~ n n n。即 x 1 x_1 x1、 x 2 x_2 x2、… 、 x n x_n xn 是