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)
还没有任何评论哟~
