社区
数据结构与算法
帖子详情
请问八皇后问题有几种解?
ylredsun
2001-11-22 07:51:22
...全文
4079
22
打赏
收藏
请问八皇后问题有几种解?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
collide
2001-11-30
打赏
举报
回复
perfect!
ylredsun
2001-11-28
打赏
举报
回复
楼上的这位好像说得太对了。好吧,那就把分都加给你吧。
vampirelord
2001-11-27
打赏
举报
回复
一种方案只能衍生出4个答案的情况,
所以不重复的方案是12个,其中一个是对称图形,最终结果是11*8+1*4=92。
那个特殊方案就是:
. . X . . . . .
. . . . X . . .
. X . . . . . .
. . . . . . . X
X . . . . . . .
. . . . . . X .
. . . X . . . .
. . . . . X . .
vampirelord
2001-11-27
打赏
举报
回复
对阿,不单单要考虑中心对称,也要考虑轴对称。
所以理想的状况是一个真正不重复的方案可以衍生出8个答案。
但是某些方案本身就是对称的,所以造成了
yinjie99
2001-11-25
打赏
举报
回复
6
1
X . . . . . . .
. . . . X . . .
. . . . . . . X
. . . . . X . .
. . X . . . . .
. . . . . . X .
. X . . . . . .
. . . X . . . .
2
X . . . . . . .
. . . . . X . .
. . . . . . . X
. . X . . . . .
. . . . . . X .
. . . X . . . .
. X . . . . . .
. . . . X . . .
3
X . . . . . . .
. . . . . . X .
. . . X . . . .
. . . . . X . .
. . . . . . . X
. X . . . . . .
. . . . X . . .
. . X . . . . .
4
X . . . . . . .
. . . . . . X .
. . . . X . . .
. . . . . . . X
. X . . . . . .
. . . X . . . .
. . . . . X . .
. . X . . . . .
5
. X . . . . . .
. . . X . . . .
. . . . . X . .
. . . . . . . X
. . X . . . . .
X . . . . . . .
. . . . . . X .
. . . . X . . .
6
. X . . . . . .
. . . . X . . .
. . . . . . X .
X . . . . . . .
. . X . . . . .
. . . . . . . X
. . . . . X . .
. . . X . . . .
7
. X . . . . . .
. . . . X . . .
. . . . . . X .
. . . X . . . .
X . . . . . . .
. . . . . . . X
. . . . . X . .
. . X . . . . .
8
. X . . . . . .
. . . . . X . .
X . . . . . . .
. . . . . . X .
. . . X . . . .
. . . . . . . X
. . X . . . . .
. . . . X . . .
9
. X . . . . . .
. . . . . X . .
. . . . . . . X
. . X . . . . .
X . . . . . . .
. . . X . . . .
. . . . . . X .
. . . . X . . .
10
. X . . . . . .
. . . . . . X .
. . X . . . . .
. . . . . X . .
. . . . . . . X
. . . . X . . .
X . . . . . . .
. . . X . . . .
11
. X . . . . . .
. . . . . . X .
. . . . X . . .
. . . . . . . X
X . . . . . . .
. . . X . . . .
. . . . . X . .
. . X . . . . .
12
. X . . . . . .
. . . . . . . X
. . . . . X . .
X . . . . . . .
. . X . . . . .
. . . . X . . .
. . . . . . X .
. . . X . . . .
13
. . X . . . . .
X . . . . . . .
. . . . . . X .
. . . . X . . .
. . . . . . . X
. X . . . . . .
. . . X . . . .
. . . . . X . .
14
. . X . . . . .
. . . . X . . .
. X . . . . . .
. . . . . . . X
X . . . . . . .
. . . . . . X .
. . . X . . . .
. . . . . X . .
15
. . X . . . . .
. . . . X . . .
. X . . . . . .
. . . . . . . X
. . . . . X . .
. . . X . . . .
. . . . . . X .
X . . . . . . .
16
. . X . . . . .
. . . . X . . .
. . . . . . X .
X . . . . . . .
. . . X . . . .
. X . . . . . .
. . . . . . . X
. . . . . X . .
17
. . X . . . . .
. . . . X . . .
. . . . . . . X
. . . X . . . .
X . . . . . . .
. . . . . . X .
. X . . . . . .
. . . . . X . .
18
. . X . . . . .
. . . . . X . .
. X . . . . . .
. . . . X . . .
. . . . . . . X
X . . . . . . .
. . . . . . X .
. . . X . . . .
19
. . X . . . . .
. . . . . X . .
. X . . . . . .
. . . . . . X .
X . . . . . . .
. . . X . . . .
. . . . . . . X
. . . . X . . .
20
. . X . . . . .
. . . . . X . .
. X . . . . . .
. . . . . . X .
. . . . X . . .
X . . . . . . .
. . . . . . . X
. . . X . . . .
21
. . X . . . . .
. . . . . X . .
. . . X . . . .
X . . . . . . .
. . . . . . . X
. . . . X . . .
. . . . . . X .
. X . . . . . .
22
. . X . . . . .
. . . . . X . .
. . . X . . . .
. X . . . . . .
. . . . . . . X
. . . . X . . .
. . . . . . X .
X . . . . . . .
23
. . X . . . . .
. . . . . X . .
. . . . . . . X
X . . . . . . .
. . . X . . . .
. . . . . . X .
. . . . X . . .
. X . . . . . .
24
. . X . . . . .
. . . . . X . .
. . . . . . . X
X . . . . . . .
. . . . X . . .
. . . . . . X .
. X . . . . . .
. . . X . . . .
25
. . X . . . . .
. . . . . X . .
. . . . . . . X
. X . . . . . .
. . . X . . . .
X . . . . . . .
. . . . . . X .
. . . . X . . .
26
. . X . . . . .
. . . . . . X .
. X . . . . . .
. . . . . . . X
. . . . X . . .
X . . . . . . .
. . . X . . . .
. . . . . X . .
27
. . X . . . . .
. . . . . . X .
. X . . . . . .
. . . . . . . X
. . . . . X . .
. . . X . . . .
X . . . . . . .
. . . . X . . .
28
. . X . . . . .
. . . . . . . X
. . . X . . . .
. . . . . . X .
X . . . . . . .
. . . . . X . .
. X . . . . . .
. . . . X . . .
29
. . . X . . . .
X . . . . . . .
. . . . X . . .
. . . . . . . X
. X . . . . . .
. . . . . . X .
. . X . . . . .
. . . . . X . .
30
. . . X . . . .
X . . . . . . .
. . . . X . . .
. . . . . . . X
. . . . . X . .
. . X . . . . .
. . . . . . X .
. X . . . . . .
31
. . . X . . . .
. X . . . . . .
. . . . X . . .
. . . . . . . X
. . . . . X . .
X . . . . . . .
. . X . . . . .
. . . . . . X .
32
. . . X . . . .
. X . . . . . .
. . . . . . X .
. . X . . . . .
. . . . . X . .
. . . . . . . X
X . . . . . . .
. . . . X . . .
33
. . . X . . . .
. X . . . . . .
. . . . . . X .
. . X . . . . .
. . . . . X . .
. . . . . . . X
. . . . X . . .
X . . . . . . .
34
. . . X . . . .
. X . . . . . .
. . . . . . X .
. . . . X . . .
X . . . . . . .
. . . . . . . X
. . . . . X . .
. . X . . . . .
35
. . . X . . . .
. X . . . . . .
. . . . . . . X
. . . . X . . .
. . . . . . X .
X . . . . . . .
. . X . . . . .
. . . . . X . .
36
. . . X . . . .
. X . . . . . .
. . . . . . . X
. . . . . X . .
X . . . . . . .
. . X . . . . .
. . . . X . . .
. . . . . . X .
37
. . . X . . . .
. . . . . X . .
X . . . . . . .
. . . . X . . .
. X . . . . . .
. . . . . . . X
. . X . . . . .
. . . . . . X .
38
. . . X . . . .
. . . . . X . .
. . . . . . . X
. X . . . . . .
. . . . . . X .
X . . . . . . .
. . X . . . . .
. . . . X . . .
39
. . . X . . . .
. . . . . X . .
. . . . . . . X
. . X . . . . .
X . . . . . . .
. . . . . . X .
. . . . X . . .
. X . . . . . .
40
. . . X . . . .
. . . . . . X .
X . . . . . . .
. . . . . . . X
. . . . X . . .
. X . . . . . .
. . . . . X . .
. . X . . . . .
41
. . . X . . . .
. . . . . . X .
. . X . . . . .
. . . . . . . X
. X . . . . . .
. . . . X . . .
X . . . . . . .
. . . . . X . .
42
. . . X . . . .
. . . . . . X .
. . . . X . . .
. X . . . . . .
. . . . . X . .
X . . . . . . .
. . X . . . . .
. . . . . . . X
43
. . . X . . . .
. . . . . . X .
. . . . X . . .
. . X . . . . .
X . . . . . . .
. . . . . X . .
. . . . . . . X
. X . . . . . .
44
. . . X . . . .
. . . . . . . X
X . . . . . . .
. . X . . . . .
. . . . . X . .
. X . . . . . .
. . . . . . X .
. . . . X . . .
45
. . . X . . . .
. . . . . . . X
X . . . . . . .
. . . . X . . .
. . . . . . X .
. X . . . . . .
. . . . . X . .
. . X . . . . .
46
. . . X . . . .
. . . . . . . X
. . . . X . . .
. . X . . . . .
X . . . . . . .
. . . . . . X .
. X . . . . . .
. . . . . X . .
47
. . . . X . . .
X . . . . . . .
. . . X . . . .
. . . . . X . .
. . . . . . . X
. X . . . . . .
. . . . . . X .
. . X . . . . .
48
. . . . X . . .
X . . . . . . .
. . . . . . . X
. . . X . . . .
. X . . . . . .
. . . . . . X .
. . X . . . . .
. . . . . X . .
49
. . . . X . . .
X . . . . . . .
. . . . . . . X
. . . . . X . .
. . X . . . . .
. . . . . . X .
. X . . . . . .
. . . X . . . .
50
. . . . X . . .
. X . . . . . .
. . . X . . . .
. . . . . X . .
. . . . . . . X
. . X . . . . .
X . . . . . . .
. . . . . . X .
51
. . . . X . . .
. X . . . . . .
. . . X . . . .
. . . . . . X .
. . X . . . . .
. . . . . . . X
. . . . . X . .
X . . . . . . .
52
. . . . X . . .
. X . . . . . .
. . . . . X . .
X . . . . . . .
. . . . . . X .
. . . X . . . .
. . . . . . . X
. . X . . . . .
53
. . . . X . . .
. X . . . . . .
. . . . . . . X
X . . . . . . .
. . . X . . . .
. . . . . . X .
. . X . . . . .
. . . . . X . .
54
. . . . X . . .
. . X . . . . .
X . . . . . . .
. . . . . X . .
. . . . . . . X
. X . . . . . .
. . . X . . . .
. . . . . . X .
55
. . . . X . . .
. . X . . . . .
X . . . . . . .
. . . . . . X .
. X . . . . . .
. . . . . . . X
. . . . . X . .
. . . X . . . .
56
. . . . X . . .
. . X . . . . .
. . . . . . . X
. . . X . . . .
. . . . . . X .
X . . . . . . .
. . . . . X . .
. X . . . . . .
57
. . . . X . . .
. . . . . . X .
X . . . . . . .
. . X . . . . .
. . . . . . . X
. . . . . X . .
. . . X . . . .
. X . . . . . .
58
. . . . X . . .
. . . . . . X .
X . . . . . . .
. . . X . . . .
. X . . . . . .
. . . . . . . X
. . . . . X . .
. . X . . . . .
59
. . . . X . . .
. . . . . . X .
. X . . . . . .
. . . X . . . .
. . . . . . . X
X . . . . . . .
. . X . . . . .
. . . . . X . .
60
. . . . X . . .
. . . . . . X .
. X . . . . . .
. . . . . X . .
. . X . . . . .
X . . . . . . .
. . . X . . . .
. . . . . . . X
61
. . . . X . . .
. . . . . . X .
. X . . . . . .
. . . . . X . .
. . X . . . . .
X . . . . . . .
. . . . . . . X
. . . X . . . .
62
. . . . X . . .
. . . . . . X .
. . . X . . . .
X . . . . . . .
. . X . . . . .
. . . . . . . X
. . . . . X . .
. X . . . . . .
63
. . . . X . . .
. . . . . . . X
. . . X . . . .
X . . . . . . .
. . X . . . . .
. . . . . X . .
. X . . . . . .
. . . . . . X .
64
. . . . X . . .
. . . . . . . X
. . . X . . . .
X . . . . . . .
. . . . . . X .
. X . . . . . .
. . . . . X . .
. . X . . . . .
65
. . . . . X . .
X . . . . . . .
. . . . X . . .
. X . . . . . .
. . . . . . . X
. . X . . . . .
. . . . . . X .
. . . X . . . .
66
. . . . . X . .
. X . . . . . .
. . . . . . X .
X . . . . . . .
. . X . . . . .
. . . . X . . .
. . . . . . . X
. . . X . . . .
67
. . . . . X . .
. X . . . . . .
. . . . . . X .
X . . . . . . .
. . . X . . . .
. . . . . . . X
. . . . X . . .
. . X . . . . .
68
. . . . . X . .
. . X . . . . .
X . . . . . . .
. . . . . . X .
. . . . X . . .
. . . . . . . X
. X . . . . . .
. . . X . . . .
69
. . . . . X . .
. . X . . . . .
X . . . . . . .
. . . . . . . X
. . . X . . . .
. X . . . . . .
. . . . . . X .
. . . . X . . .
70
. . . . . X . .
. . X . . . . .
X . . . . . . .
. . . . . . . X
. . . . X . . .
. X . . . . . .
. . . X . . . .
. . . . . . X .
71
. . . . . X . .
. . X . . . . .
. . . . X . . .
. . . . . . X .
X . . . . . . .
. . . X . . . .
. X . . . . . .
. . . . . . . X
72
. . . . . X . .
. . X . . . . .
. . . . X . . .
. . . . . . . X
X . . . . . . .
. . . X . . . .
. X . . . . . .
. . . . . . X .
73
. . . . . X . .
. . X . . . . .
. . . . . . X .
. X . . . . . .
. . . X . . . .
. . . . . . . X
X . . . . . . .
. . . . X . . .
74
. . . . . X . .
. . X . . . . .
. . . . . . X .
. X . . . . . .
. . . . . . . X
. . . . X . . .
X . . . . . . .
. . . X . . . .
75
. . . . . X . .
. . X . . . . .
. . . . . . X .
. . . X . . . .
X . . . . . . .
. . . . . . . X
. X . . . . . .
. . . . X . . .
76
. . . . . X . .
. . . X . . . .
X . . . . . . .
. . . . X . . .
. . . . . . . X
. X . . . . . .
. . . . . . X .
. . X . . . . .
77
. . . . . X . .
. . . X . . . .
. X . . . . . .
. . . . . . . X
. . . . X . . .
. . . . . . X .
X . . . . . . .
. . X . . . . .
78
. . . . . X . .
. . . X . . . .
. . . . . . X .
X . . . . . . .
. . X . . . . .
. . . . X . . .
. X . . . . . .
. . . . . . . X
79
. . . . . X . .
. . . X . . . .
. . . . . . X .
X . . . . . . .
. . . . . . . X
. X . . . . . .
. . . . X . . .
. . X . . . . .
80
. . . . . X . .
. . . . . . . X
. X . . . . . .
. . . X . . . .
X . . . . . . .
. . . . . . X .
. . . . X . . .
. . X . . . . .
81
. . . . . . X .
X . . . . . . .
. . X . . . . .
. . . . . . . X
. . . . . X . .
. . . X . . . .
. X . . . . . .
. . . . X . . .
82
. . . . . . X .
. X . . . . . .
. . . X . . . .
X . . . . . . .
. . . . . . . X
. . . . X . . .
. . X . . . . .
. . . . . X . .
83
. . . . . . X .
. X . . . . . .
. . . . . X . .
. . X . . . . .
X . . . . . . .
. . . X . . . .
. . . . . . . X
. . . . X . . .
84
. . . . . . X .
. . X . . . . .
X . . . . . . .
. . . . . X . .
. . . . . . . X
. . . . X . . .
. X . . . . . .
. . . X . . . .
85
. . . . . . X .
. . X . . . . .
. . . . . . . X
. X . . . . . .
. . . . X . . .
X . . . . . . .
. . . . . X . .
. . . X . . . .
86
. . . . . . X .
. . . X . . . .
. X . . . . . .
. . . . X . . .
. . . . . . . X
X . . . . . . .
. . X . . . . .
. . . . . X . .
87
. . . . . . X .
. . . X . . . .
. X . . . . . .
. . . . . . . X
. . . . . X . .
X . . . . . . .
. . X . . . . .
. . . . X . . .
88
. . . . . . X .
. . . . X . . .
. . X . . . . .
X . . . . . . .
. . . . . X . .
. . . . . . . X
. X . . . . . .
. . . X . . . .
89
. . . . . . . X
. X . . . . . .
. . . X . . . .
X . . . . . . .
. . . . . . X .
. . . . X . . .
. . X . . . . .
. . . . . X . .
90
. . . . . . . X
. X . . . . . .
. . . . X . . .
. . X . . . . .
X . . . . . . .
. . . . . . X .
. . . X . . . .
. . . . . X . .
91
. . . . . . . X
. . X . . . . .
X . . . . . . .
. . . . . X . .
. X . . . . . .
. . . . X . . .
. . . . . . X .
. . . X . . . .
92
. . . . . . . X
. . . X . . . .
X . . . . . . .
. . X . . . . .
. . . . . X . .
. X . . . . . .
. . . . . . X .
. . . . X . . .
共92种
mathe
2001-11-25
打赏
举报
回复
1
To Arter(阿蒂尔),还有旋转90度的也算相同的,虽然不能算对称。
Arter
2001-11-25
打赏
举报
回复
我是否是第92个回答92的!
正方形4条对称轴.
williamf
2001-11-25
打赏
举报
回复
12.本质相同的,我用dsdemo演示的
mathe
2001-11-25
打赏
举报
回复
To collide(to be程序员),考虑对称性时,至少是
ceil(92/8)=12.
这是因为可以有8种对称性(4个棋盘方向加上左右翻转)
不过如果也些结果本身就是对称的,那么就可能>12,而92不能被8整除也说明至少有一个棋盘是对称的(中心对称?)
ylredsun
2001-11-25
打赏
举报
回复
谢谢各位了,我已经编出一个程序算出来了。在不考虑对称的情况下,的确是92种,不过考虑对称的情况我倒没有想过。
yinx
2001-11-25
打赏
举报
回复
我也是编程计算出来的,92种
Asus
2001-11-25
打赏
举报
回复
92/4=23
yinx
2001-11-24
打赏
举报
回复
在不考虑棋盘的对称性时, 92种 ,绝对!!
考虑不考虑棋盘得对称性,应该是此题有多少解的前提条件
collide
2001-11-24
打赏
举报
回复
92种,但考虑到棋盘的对称性,至多为92/4种。
starfish
2001-11-23
打赏
举报
回复
不只8种吧
BBfox
2001-11-23
打赏
举报
回复
92
one_add_one
2001-11-23
打赏
举报
回复
我也记得本质不同的解是12种
one_add_one
2001-11-23
打赏
举报
回复
我也记得本质不同的解是12种
frman
2001-11-23
打赏
举报
回复
记得~~~~(只是记得)好象有12种:)
nofog
2001-11-22
打赏
举报
回复
好像不重复的有 8种解
加载更多回复(2)
利用c++
解
决
八皇后问题
(1)程序功能简介
解
决
八皇后问题
的程序。 (2)程序设计说明 ①
八皇后问题
是一个古老而著名的问题,是回溯算法的典型例题。该问题是19世纪著名的数学家高斯1850年提出:在8×8格的国际象棋上摆放8个皇后,使其不能相互共计,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法?当指示用户输入第一个皇后的位置时,行列数必须为[0,7]区间内的整数;只要计算出第一个皇后放在任意相同列0~7行8种位置的排列总数即为
八皇后问题
的全部排列方案数目; ② 增加函数,每输入一组
解
,暂停屏幕,显示“按任意键继续!”; ③ 增加输入,显示在第一个皇后确定后,共有几组排列; ④ 完善程序,编程计算
八皇后问题
共有
几种
排列方案; ⑤ 设计main()测试函数,并准备好合适的测试数据。
八皇后问题
并图形化显示
解
决
八皇后问题
。从第一行开始,放第一个皇后,放好皇后以后,她所在的行,列和对角线上的每一个位置就是她的管辖范围,别的皇后没有权利干涉,否则死无藏身之地。 然后,第二个皇后,从第二行的第一列开始判断所在的位置是否是别的皇后的管辖范围,找到第一个还没有被占据的位置,则将其占为己有。暂时,该皇后停在该位置。然后,第三个到第八个皇后依次从第三行,第四行,… ,到第八行的第一列开始寻求自己的位置。假如到第i个皇后时,已经没有任何位置可选,则第i-1个皇后必须往后移动进行协调,同样,假如第i-1个皇后往后移动时没有找到空位置,则第i-2个皇后必须往后移动,进行协调,当找到空位置时,暂时停下,将下一个皇后重新从第一列开始寻找空位置。重复上述过程,直到所有皇后都停下来。则得到了第一个
解
。要想产生所有的
解
,则当产生第一个
解
以后,第八个皇后往后移动,找下一个可以利用的空位置,找不到,则第七个皇后必须往后移动,若找到空位置则停下,第八个皇后从第八行第一列重新试探,找到空位置。一直这样,直到第一个皇后将第一行遍历完。得到的
解
就是所有
解
。 三、 概要设计: ***************类型及相关变量定义***************** //位置信息类型 typedef struct { int row; int col; }PosType; //皇后类型 typedef struct Queen{ PosType pos; int number; //第几号皇后 }QueenType; //栈节点类型 typedef struct Note{ QueenType queen; struct Note *next; }NoteType; //棋盘,某一位置chessboard[i][j]上有皇后,则该位的值变为皇后序号。同样,该皇后的势 //力范围内的位置上的值全部变为该皇后的序号。 int chessboard[8][8]; //结果集,共92种
解
,每一种
解
中记录8个位置信息。 PosType ResultSet[92][8]; //定义一个栈,保存信息 Typedef struct{ NoteType head; Int size; }QueenStack; //定义一个栈,存放皇后信息 QueenStack qstack; *************相关操作**************** //初始化棋盘,开始时每个位置上都没有皇后,值全为0;并给8个皇后编号。 void initChessboard(); //回溯求
八皇后问题
的所有
解
,皇后协调算法 void queenCoordinate(); //输出所有
解
void printResult();
内功修炼之数据结构与算法
内容简介: 无论你是从事业务开发,还是从事架构设计,想要优化设计模式,数据结构与算法是必备的一门学科,本课程使用Java来讲
解
数据结构和算法,考虑到数据结构和算法较难,授课采用图
解
加算法游戏的方式。内容包括: 稀疏数组、单向队列、环形队列、单向链表、双向链表、环形链表、约瑟夫问题、栈、前缀、中缀、后缀表达式、中缀表达式转换为后缀表达式、递归与回溯、迷宫问题、
八皇后问题
、算法的时间复杂度、冒泡排序、选择排序、插入排序、快速排序、归并排序、希尔排序、基数排序(桶排序)、堆排序、排序速度分析、二分查找、插值查找、斐波那契查找、散列、哈希表、二叉树、二叉树与数组转换、二叉排序树(BST)、AVL树、线索二叉树、赫夫曼树、赫夫曼编码、多路查找树(B树B+树和B*树)、图、图的DFS算法和BFS、程序员常用10大算法、二分查找算法(非递归)、分治算法、动态规划算法、KMP算法、贪心算法、普里姆算法、克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算法马踏棋盘算法。为什么学数据结构与算法? 算法是一个程序员真正的核心竞争力。无论用哪种语言做开发,算法从程序角度而言都是灵魂内核般的存在。程序的躯体可以各式各样,但是内核一定要追求高效整洁。同时掌握了算法,大厂名企的Offer不再是梦寐以求的梦想,而让程序高效且健壮,也不再是难以完成的技术难题。所以无论是为提升自我内功修炼,还是提升程序灵魂内核健全,学习算法,都是现有可供选项里的最优
解
。课程大纲:为了让大家快速系统了
解
数据结构与算法知识全貌,我为你总结了「数据结构与算法框架图」,帮你梳理学习重点,建议收藏!! CSDN学院Java答疑群:
八皇后(图形化界面,含设计文档)
二、 算法思想: 采用回溯法
解
决
八皇后问题
。从第一行开始,放第一个皇后,放好皇后以后,她所在的行,列和对角线上的每一个位置就是她的管辖范围,别的皇后没有权利干涉,否则死无藏身之地。 然后,第二个皇后,从第二行的第一列开始判断所在的位置是否是别的皇后的管辖范围,找到第一个还没有被占据的位置,则将其占为己有。暂时,该皇后停在该位置。然后,第三个到第八个皇后依次从第三行,第四行,… ,到第八行的第一列开始寻求自己的位置。假如到第i个皇后时,已经没有任何位置可选,则第i-1个皇后必须往后移动进行协调,同样,假如第i-1个皇后往后移动时没有找到空位置,则第i-2个皇后必须往后移动,进行协调,当找到空位置时,暂时停下,将下一个皇后重新从第一列开始寻找空位置。重复上述过程,直到所有皇后都停下来。则得到了第一个
解
。要想产生所有的
解
,则当产生第一个
解
以后,第八个皇后往后移动,找下一个可以利用的空位置,找不到,则第七个皇后必须往后移动,若找到空位置则停下,第八个皇后从第八行第一列重新试探,找到空位置。一直这样,直到第一个皇后将第一行遍历完。得到的
解
就是所有
解
。 三、 概要设计: ***************类型及相关变量定义***************** //位置信息类型 typedef struct { int row; int col; }PosType; //皇后类型 typedef struct Queen{ PosType pos; int number; //第几号皇后 }QueenType; //栈节点类型 typedef struct Note{ QueenType queen; struct Note *next; }NoteType; //棋盘,某一位置chessboard[i][j]上有皇后,则该位的值变为皇后序号。同样,该皇后的势 //力范围内的位置上的值全部变为该皇后的序号。 int chessboard[8][8]; //结果集,共92种
解
,每一种
解
中记录8个位置信息。 PosType ResultSet[92][8]; //定义一个栈,保存信息 Typedef struct{ NoteType head; Int size; }QueenStack; //定义一个栈,存放皇后信息 QueenStack qstack; *************相关操作**************** //初始化棋盘,开始时每个位置上都没有皇后,值全为0;并给8个皇后编号。 void initChessboard(); //回溯求
八皇后问题
的所有
解
,皇后协调算法 void queenCoordinate(); //输出所有
解
void printResult();
N皇后问题
与八皇后类似,只是可以输入任意N值。
数据结构与算法
33,012
社区成员
35,329
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章