N皇后问题(C语言)

时间:2015-03-15 14:26:33
【文件属性】:

文件名称:N皇后问题(C语言)

文件大小:19KB

文件格式:DOC

更新时间:2015-03-15 14:26:33

皇后问题

简述N皇后问题的方法,适合大家查看! void make(int l) //递归搜索以stack[l]为初结点的所有路径 { int i,j; //子结点个数 if (l==n+1) { total=total+1; //路径数+1 for(i=1;i<=n;i++) printf("%-3d",stack[i]); //输出第i行皇后的列位置stack[i] printf("\n"); exit; //回溯(若试题仅要求一条路径,则exit改为halt即可) } for (i=1;i<=n;i++) { stack[l]=i; //算符i作用于生成stack[l-1]产生子状态stack[l]; if (!att(l,i)) make(l+1); } //再无算符可用,回溯 }


网友评论

  • 还可以,不过n太大的话感觉不可行,太费时间和内存。