8皇后问题:
在8×8格的国际象棋盘上摆放8个皇后,使其不能互相攻击,即任意两个皇后都
不能处于同一行、同一列或同一斜线上,问有多少种摆法?
通过递归来解决N皇后的问题。
设置三个数组,a[N], b[2N-1],c[2N-1],并初始化为0
a[i]为0,表示每列不冲突
b[i-j+N-1]为0,表示每主对角线不冲突
c[i+j]为0,表示每次对角线不冲突
PS:主对角线定义为从左上到右下的一条斜线.
源代码:
8皇后问题:
在8×8格的国际象棋盘上摆放8个皇后,使其不能互相攻击,即任意两个皇后都
不能处于同一行、同一列或同一斜线上,问有多少种摆法?
通过递归来解决N皇后的问题。
设置三个数组,a[N], b[2N-1],c[2N-1],并初始化为0
a[i]为0,表示每列不冲突
b[i-j+N-1]为0,表示每主对角线不冲突
c[i+j]为0,表示每次对角线不冲突
PS:主对角线定义为从左上到右下的一条斜线.
源代码: