一个难题,八列八行一个棋盘,有八个哨兵,将他们分别放在棋盘上,并且横竖斜行都只能放一个哨兵,怎么放?

月舟 1年前 已收到6个回答 举报

saer206 幼苗

共回答了64个问题采纳率:9.4% 举报

这个问题是由高斯首先提出的。解决这一问题的最直接方法是穷举出所有摆法。我们先用回溯的思想按行递推出一种合理方案。开始棋盘为空,第一个皇后可以放在第一行的任意一个位置。我们把它试置在(1,1)。这样,满足J=1或I=J的格子都不能再放皇后了。第二个皇后置在第二行,J可取3..8中的任意一列,我们先试放在(2,3)。那么第三行的J可以取4..8,先试(3,4)。以此类推,第四个皇后在(4,2)((4,7),(4,8)也可);然后是(5,6)((5,8)也可);第六行就只有(6,8)这一个位置可选。

1年前 追问

9

举报 saer206

这时,第七行已没有空位置可放,说明前面皇后的位置试选得不对。回溯到上一行,由于第六行已没有其他位置可选择,只能删除(6,8)这个皇后,再退到第五行,把(5,6)的皇后移到(5,8)。这样,第六行又没有可选位置了,回溯到第四行,把(4,2)移到(4,7)……最后,得出第一种可行方案:(1,1),(2,5),(3,8),(4,6),(5,3),(6,7),(7,2),(8,4)。我们可以编写一个程序,让计算机按上述思路穷举出所有摆法(网上也很多,搜“八皇后”)。

举报 saer206

经计算机穷举,共有92种摆法。其实,这其中只有12种基本摆法,每种基本摆法又可经对称(水平、竖直、及沿两对角线翻转)、旋转(90、180、270度)等几何变换得出另外7种。这8种摆法的实质是一样的。那么,摆法共应有12*8=96种,为什么是92种呢?原来,在这12种基本摆法中,有一种是中心对称图形!用国际象棋记录法是:a4,b6,c8,d2,e7,f1,g3,h5.

举报 saer206

亲,对我的回答满意的话,就给个好评吧。如果还有不清楚的地方,可以跟我继续交流哦。

月舟 举报

你的回答完美的解决了我的问题,谢谢!

朝晖1 幼苗

共回答了5个问题 举报

对角线斜角平行

1年前

1

无闻花溅泪 幼苗

共回答了2个问题 举报

著名的八皇后问题,共92种解法,我曾独立完成32种,现在多用编程解决。具体方案可通过百度获得。

1年前

1

momoyiro 幼苗

共回答了13个问题 举报

对角线

1年前

0

肉头常山 春芽

共回答了32个问题采纳率:6.3% 举报

看看是这样吗

1年前

0

ydily0633 幼苗

共回答了2个问题 举报

放成正方形

1年前

0
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 22 q. 0.038 s. - webmaster@yulucn.com