LabVIEW论坛
直播中

荣琪

9年用户 689经验值
擅长:可编程逻辑 测量仪表 嵌入式技术
私信 关注
[文章]

LabVIEW Actor Framework学习之八皇后

大家好,我是Richie,为什么把贴子给我删除了呢,我再试试重新发一次。
本期重点:
labview OOP为基础,使用AF(Actor Framework)框架来编写程序,对八皇后问题进行求解。欢迎大家来一起共同学习,共同进步。
八皇后解算.gif 八皇后解算2.gif
简单介绍:
八皇后问题:在8X8的棋盘上,放置8皇后,让她们互不在各自的攻击路线上(即任意两个皇后均不能互相攻击),具体有几种放置方式呢?
注:每个皇后的攻击范围是其所在行、列及全部斜对角。

大体思路:
1. 每行/每列只能有一个皇后出现。
2. 皇后在放置时查看自己是否能被已经放置的皇后攻击。
3. 若皇后能放置,则通知下一个皇后尝试放置。
4. 若皇后不能放置(放在自己列的哪一行都会被攻击),则通知上一个皇后在新位置重新放置自己。
5. 皇后负责更新"Queen棋盘"。
6. 皇后要通知棋盘操作者更新"攻击占用位棋盘"。

具体的实现方法大家还是看附件的源码吧。



*******************************************************************************
哈,运行过代码的小伙伴一定看到了,共有92种结果。那么肯定有小伙伴就举一反三啦。请问如果是10皇后有多少解呢,20皇后呢,N皇后呢?小伙伴们可以在八皇后代码基础上改写试试^_^  
(偷偷告诉你~这个算法别尝试20皇后以上的啦,别问我怎么知道的T T)
嗯,最后*^-^*
下期预告"LabVIEW Actor Framework学习之N皇后问题 "。

回帖(14)

荣琪

2020-5-30 20:12:34
为什么删除我的贴啊?起码告诉我为什么吧????!!!!
2 举报

荣琪

2020-5-30 21:54:32
程序里是有Bug的哦,小伙伴们能否发现呢?
2 举报

小妖

2020-6-1 11:07:29
{:1:}
举报

yk8356993

2020-6-2 09:18:59
666666666666666666666666666666
举报

更多回帖

发帖
×
20
完善资料,
赚取积分