问题标签 [n-queens]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 关于八皇后的“没有三个皇后在一条直线上”属性的困惑
在八皇后拼图的维基百科文章中。解决方案部分的最后一行被声明为“解决方案 10 具有没有三个皇后在一条直线上的附加属性”。
但这不就是不让任何女王成直线的使命吗?为什么它对解决方案 #10 很特殊,我可以看到所有解决方案都遵守该声明。那么我忽略了什么?
java - 8 皇后不使用回溯法
我正在做 8 个皇后问题的一个版本,但没有使用回溯方法。对于其中一种方法,我必须“对正方形进行评分”,基本上我需要找出如果要在盒子中放置女王,则将变得不可用的单元格数量。我的问题是我无法让我的代码返回正方形的分数。我的 for 循环有什么问题吗?
backtracking - n-queens,检查有效的棋盘
所以我正在尝试解决 n-queens 问题。我认为我有一个有效的回溯实现,但我认为我检查板是否有效的方法已关闭(并且效率极低),但我不明白为什么。谁能明白为什么/提供更好的方法?
python - python中的n个皇后程序不起作用
我在 n 个皇后的 python 中的程序有问题(有多少种可能的方法可以将 n 个皇后放在一个 nxn 板上)。似乎我的递归有问题,但我真的很无奈。有人能弄清楚出了什么问题吗?
python - 8 个皇后谜题 - 使用 python 递归
我正在尝试解决8-queens 谜题,也称为 n-queens 算法。
我的功能应该计算有多少种合法的方式可以在 NxN 板上放置 N 个皇后。
我几乎明白了,但必须做一些丑陋的补丁才能让它工作。你能帮我修一下吗?
关于我所做的事情的简要说明:试图找出在 NxN 表中设置 N 个皇后的合法方法,我试图在 (N-1)xN 情况下使用递归来解决(删除第一列)至于事实同一列上不允许有两个皇后,我使用 N 的列表长度。每个单元格代表一列,在每一列中,我设置皇后所在的行号。
例如,
意思是:
- 第 0 列 – 皇后放置在第 0 行
- 第 1 列 – 皇后放置在第 4 行
- 第 2 列 – 皇后放置在第 7 行
- 第 3 列 – 皇后放置在第 5 行
- 第 4 列 – 皇后放置在第 2 行
- 第 5 列 – 皇后放置在第 6 行
- 第 6 列 – 皇后放置在第 1 行
- 第 7 列 – 皇后放置在第 3 行
困扰我的事情是我不知道如何省略非法的女王放置。因此,为了使其工作,我使用了一个名为 的全局变量sum
,仅当递归达到合法的皇后完全放置时才增加它。
因为N = 8
我得到sum = 92
.. 因此我知道它有效,但我想避免使用这个全局计数器。
你能帮我吗?
java - 带有java接口的prolog中的8皇后拼图,我无法执行查询
我正在解决 prolog 中的 8 个皇后问题。我是序言的初学者。我想打印解决方案列表,但我的查询每次都失败......任何人都可以帮助我???
这是我的序言代码
conflict - 4 皇后,最小冲突
我想要一些有关min-conflicts algorithm 的帮助。
如果我们在这一点上,
- 算法会随机选择移动其中一个
C
还是D
因为它们都产生相同数量的冲突(C
与 冲突D
,D
与 冲突C
), - 还是它会选择
D
,因为我们可以移动的最佳位置C
在第 3 行,这将导致 1 个冲突,如果我们选择D
并将其移动到第 3 行,将导致 0 个冲突。
c - 使用回溯的 N Queen 的时间复杂度?
我认为它具有时间复杂度:O(n^n),因为 NQueen 函数正在递归调用,但是这个程序是否有更严格的界限?最好的情况和最坏的情况时间复杂度怎么样。我也对 O(k) 和从 NQueen() 调用的 place() 函数感到困惑。