我正在试着写一个程序,它将返回N-Queens问题的解的数量。代码使用堆栈来跟踪有效的皇后位置,适当地弹出和推送。但是代码中的某些部分是永远不会到达的。我相信他们是导致程序无法工作的原因。public static int total;
//finds and prints out all solutions to the n-queens
我已经尝试完成我的家庭作业项目,并正在寻求帮助找到一个漏洞。我使用回溯算法来寻找N-皇后问题的所有解。我主要关心的是我的冲突方法--它在堆栈类中。它的目的是检测要传递的Queen对象(冲突方法的参数1)是否与董事会上的任何其他皇后位于同一行、列或对角线上。传入冲突方法的皇后对象存储在queen类中,它的位置通过Point类的实例进行记录。我的代码在我创建的Queen类中使用了两个方法,即public int getRow()和public int getColumn()。两者都返回一个int。第二个参数是一个名为board的2d数组(或数组数组)。已在板上的皇后区在此数组中表示,布尔值为tru
我正在尝试重新创建n-queens问题,并使用模拟退火解决它,尽管当我尝试使用len( board )**2添加温度时,来自我的对象类的board对象抛出了一个错误。任何帮助都将不胜感激!!import timeimport math
"""An N-queens solution attempt."""+ x: return h
class Ag
这是我在java中解决n-queens问题的代码。然而,输出是0(在本例中是8个皇后的解的数量),而它应该是92。我们应该只使用堆栈和回溯(没有递归!!)。我真的卡住了!任何帮助都将不胜感激!public static int i;
//finds and prints out all solutions to the n-queens