N皇后2(算法)
set
cols[N]
pie[N] i + j
na[N] i - j
int col, pie, na;
伪代码
void DFS(row
, col
, pie
, na
)
if (row
>= N
) { count
++; return; }
bits
= (~(col
| pie
| na
)) & ((1 << n
) - 1)
while (bits
> 0) {
P
= bits
& - bits
DFS(row
+ 1, col
| P(pie
| P
) << 1, (na
| P
) >> 1)
bits
&= bits
- 1
}
转载请注明原文地址: https://mac.8miu.com/read-500018.html