N皇后问题的常数优化

每一行放一个皇后,那么就不存在行上的限制。
只存在列上的限制,左斜线的限制和右斜线的限制。
我们可以分别用三个数来代表列上的限制,左斜线的限制和右斜线的限制。
假如在八皇后中第一行放的是

那么第二行列上的限制就是
 
左斜线的限制就是

右斜线的限制就是
 
三个限制或得到整个的限制

也就是说第二行除了这几个地方不可以放,其他都可以
其他行也是一样的处理。
public static int num2(int n) {
if(n<1 || n>32) {
return 0;
}
//-1的补码就是32个1
int limit = n == 32?-1:(1<

N皇后问题的常数优化最先出现在Python成神之路

版权声明:
作者:dingding
链接:https://www.techfm.club/p/26206.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>