多机数据处理

PNP : Paralle N-queens puzzle

PNP : Paralle N-queens puzzle

  • 单机解决
  • 多线程
  • 多个机器
  • 负载均衡

N皇后问题:每一行只能有一个皇后,每一列只能有一个皇后,每一条对角线(反对角线)只能有一个皇后。求解的个数。

PNP : Paralle N-queens puzzle

一种解法:求全排列,然后去掉非法情况

PNP : Paralle N-queens puzzle

PNP : Paralle N-queens puzzle

代码简洁,但是效率低

回溯法

PNP : Paralle N-queens puzzle

回溯法,就是在失败点选择其他值进行试探,直到成功。

通过将错误情况,过早的减枝,可以排除掉很多非法情况。所以相对上面的全排列方法要快很多。

思路就是使用位数组,columns表示那些列被使用了,diagnoal表示对角被使用情况,antidiagnoal表示反对角被使用情况。

PNP : Paralle N-queens puzzle

其中__builtin_ctz为gcc 的builtin函数,用来获取尾部0的个数。

相关文章:

  • 2021-06-19
  • 2021-06-29
  • 2021-10-27
  • 2021-07-20
猜你喜欢
  • 2022-02-11
  • 2021-06-24
  • 2022-12-23
  • 2021-07-18
  • 2022-12-23
  • 2021-12-05
  • 2021-06-27
相关资源
相似解决方案