代码:(控制台打印不了92种情况,只打印前10种) 1 #include 2 #include 3 #include 4 #define ok 1 5 #define error 0 6 using namespace std; 7 8 9 int a[9][9]={0};10 int n...
分类:
其他好文 时间:
2015-08-13 21:45:39
阅读次数:
145
回溯法,简单理解就是有源可溯。基本思想要借鉴穷举法,但是它不是一味地穷举,当发现某一步不符合条件时,这一步后面的穷举操作就不进行了(俗称“剪枝”),我自己把它叫做动态穷举法。假设第一个步骤可行,那么执行第二个步骤,第三个......如果其中第三个步骤不行,那么我们再回过来(回溯),第二个步骤换一种方...
分类:
其他好文 时间:
2015-08-13 20:08:20
阅读次数:
10939
#include #include #include #include using namespace std;#define N 20int n, sum, x[N+1];void Init(){ cout > n; sum = 0; memset(x, 0, sizeof(x));}...
分类:
其他好文 时间:
2015-08-12 21:20:58
阅读次数:
142
八皇后问题是一个古老而著名的问题,它是回溯算法的典型例题。该问题是十九世纪德国著名数学家高斯于1850年提出的:在8行8列的国际象棋棋盘上摆放着 八个皇后。若两个皇后位于同一行、同一列或同一对角线上,则称为它们为互相攻击。
现在要求使这八个皇后不能相互攻击,即任意两个皇后都不能处于同一行、同一列或同一对角线上,问有多少种摆法。解题思路在递归方式中,pos[i]表示第i行的皇后摆在第pos[i]列上...
分类:
其他好文 时间:
2015-08-09 22:35:27
阅读次数:
160
问题描述
八皇后问题是在8*8的棋盘上放置8枚皇后,使得棋盘中每个纵向、横向、左上至右下斜向、右上至左下斜向均只有一枚皇后。
求解思路
对于八皇后的求解可采用回溯算法,从上至下依次在每一行放置皇后,进行搜索,若在某一行的任意一列放置皇后均不能满足要求,则不再向下搜索,而进行回溯,回溯至有其他列可放置皇后的一行,再向下搜索,直到搜索至最后一行,找到可行解,输出。一般有两种方法实...
分类:
其他好文 时间:
2015-08-09 18:56:43
阅读次数:
149
回溯法理解,一般形式void Bcktrack(int t) //参数t表示当前递归深度{ if(t>n)Output(x); //遍历到解,则将解输出或其他处理 else { //f(n,t)和g(n,t)表示当前节点(扩展节点)处未搜索过的子树的起始编号和中指编号...
分类:
其他好文 时间:
2015-08-06 14:58:26
阅读次数:
132
IDA*算法, 从小到大枚举深度上限,不过该题是有深度上限的,题目中的第一个样例表明:最多需要5个皇后就可以覆盖整个棋盘 。
利用紫书上的技巧,我们可以快速的判断任意两个棋子是不是在同一行、同一列、同一对角线 (详情见紫书P193那两个图)。
这样之后暴力搜索就可以了 。 每一层需要O(nm)的复杂度,但是实际上并不需要那么大的复杂度 。和八皇后问题类似 , 当前行之前的行已经放置了皇后,...
分类:
其他好文 时间:
2015-08-05 08:57:48
阅读次数:
194
a[i]表示八个棋子,i表示所在行,a[i]表示所在列 各个棋子不能横向、纵向、对角线在一条直线上。 因为我们以行为单位摆放棋子,所以各个棋子一定不在同一行。 对于不在纵向:a[i] != a[j] 对角线分为两种...
分类:
其他好文 时间:
2015-08-02 23:40:39
阅读次数:
366
在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。试解出92种结果。
// eight_queen.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
#include
using namespace std;
#define N 8
typede...
分类:
其他好文 时间:
2015-07-29 06:27:52
阅读次数:
114
题目:八皇后问题:在8 X 8的国际象棋上摆放八个皇后,使其不能相互攻击,即任意两个皇后不得处于同一行,同一列或者同意对角线上,求出所有符合条件的摆法。思路:1、回溯法数据结构:由于8个皇后不能处在同一行,那么肯定每个皇后占据一行,这样可以定义一个数组A[8],数组中第i个数字,即A[i]表示位于第...
分类:
编程语言 时间:
2015-07-24 17:49:19
阅读次数:
183