大家好,我是Richie,为什么把贴子给我删除了呢,我再试试重新发一次。
本期重点:
以labview OOP为基础,使用AF(Actor Framework)框架来编写程序,对八皇后问题进行求解。欢迎大家来一起共同学习,共同进步。 简单介绍:
八皇后问题:在8X8的棋盘上,放置8皇后,让她们互不在各自的攻击路线上(即任意两个皇后均不能互相攻击),具体有几种放置方式呢?
注:每个皇后的攻击范围是其所在行、列及全部斜对角。
大体思路:
1. 每行/每列只能有一个皇后出现。
2. 皇后在放置时查看自己是否能被已经放置的皇后攻击。
3. 若皇后能放置,则通知下一个皇后尝试放置。
4. 若皇后不能放置(放在自己列的哪一行都会被攻击),则通知上一个皇后在新位置重新放置自己。
5. 皇后负责更新"Queen棋盘"。
6. 皇后要通知棋盘操作者更新"攻击占用位棋盘"。
具体的实现方法大家还是看附件的源码吧。
*******************************************************************************
哈,运行过代码的小伙伴一定看到了,共有92种结果。那么肯定有小伙伴就举一反三啦。请问如果是10皇后有多少解呢,20皇后呢,N皇后呢?小伙伴们可以在八皇后代码基础上改写试试^_^
(偷偷告诉你~这个算法别尝试20皇后以上的啦,别问我怎么知道的T T)
嗯,最后*^-^*
下期预告"LabVIEW Actor Framework学习之N皇后问题 "。