Advertisement

n皇后问题的C语言回溯算法

阅读量:

关于n皇后问题的c语言回溯算法实现,在代码块内提供了较为详尽的说明,在此处不再赘述。但是代码中的uppertri[]和lowtri[]这两个数组需要对这两个数组进行简要说明:这里取n为4

这里在这里插入图片描述

图(1):通过计算行与列之间的差值得到了表中的数值结果:raw-col
图(2):通过计算行与列之间的和得到了表中的数值结果:raw+col
该方法共能产生六种不同的结果。为了便于后续运算和统一表示, 我们将各子模型输出的结果范围设定在0至5之间。在此基础上, 进一步优化时只需对第一个模型进行微调即可, 具体方法是在原有基础上增加一个偏移量3, 即 raw-col+3

表明这种情况的一种特殊情况能够推广至n的情形:即存在2 \times (n-1)种可能的值;对于类似于图(1)的情况,则应执行raw-col + n - 1的处理。

复制代码
    #include<stdio.h>
    #include<stdlib.h>
    
    #define max 1000000
    
    int place[max];//place[

全部评论 (0)

还没有任何评论哟~