n-queens

    0热度

    1回答

    我已经完成了创建非常快速的nqueens程序的任务。到目前为止,Bruteforce算法和Backtrack正在工作,但我发现了一个似乎更快的C程序。现在我试图将它从C转换为Java,但是我无法转换指针,因为我不了解指针发生了什么。 这些都是必须转换线: 编辑:我已经更新了转换到就我的理解: final int[] aStack = new int[MAX_BOARDSIZE * 2]; int

    11热度

    2回答

    N皇后难题在理论上可以用多项式时间求解吗?如果是这样,它最好的复杂程度是什么?我发现了很多算法,但是我还没有发现时间复杂度。是否有任何文件或文件给出其确切的复杂性? (附:显式解决方案非常有趣,但我忘了说了,我希望能够找到所有的解决方案。)

    1热度

    1回答

    我正忙着用Drools策划者,因为最终我需要形成一个名册解决方案。我从Drools Planner user guide开始,我成功地在Eclipse中运行示例。试图了解简单和HardAndSoft分数类型之间的差异,我试图修改NQueens示例,将分数从Simple更改为HardAndSoft。 我做了如下: 在我设置<scoreDefinitionType>HARD_AND_SOFT</sco

    4热度

    1回答

    我正在开发一种启发式方法来在8x8棋盘上放置8个皇后。每个正方形都有自己的消除数(用于表示如果一个皇后放在那个正方形中,空棋盘有多少个正方形被“消除”),并且每个正方形应放置在消除数最少的正方形中。 我的问题是,我不知道该怎么做才能减少它们相应的正方形的具体消除数量,所以我会很感激你是否帮助过我。 另一个问题,我觉得我的代码非常复杂,所以任何笔记都可以使它更简单? 这里是我的代码 public c

    0热度

    1回答

    我开始在C#上的一些编码,并尝试N皇后的问题有轻微的变化(女王也有骑士的力量)。一个限制后,它开始显示由于一次又一次地调用函数而导致的stackoverflow问题。 任何人都可以请帮助我理解我面临的问题。以下是n皇后问题的代码。 private int[] BackTrack(int queenRow, int column) { for (int i = column; i < s

    0热度

    1回答

    工作,我有一个单线程的Python模块(用于解决正皇​​后问题)这个重要的方法: def step(self): r = Random() poz = r.choice(self.available) #!!!problem here #poz = 9 #this will work for p in self.available: if s

    3热度

    1回答

    这是我在java中的n皇后问题的代码。然而,当它应该是92时,输出为0(在这种情况下为8个皇后的解决方案的数量)。我们应该只使用堆栈和回溯(无递归!!)。我真的被卡住了!任何帮助将不胜感激! import java.util.Stack; public class NQueens { //***** fill in your code here ***** //feel

    -2热度

    1回答

    我在尝试使一个for循环在1D Queens问题中继续完成时遇到问题。 首先,我使用goto语句来处理所有事情。现在我试图通过使用函数来摆脱goto语句。我最终会摆脱所有这些,但是我将重点放在NR(新排)并首先回溯,因为它们是为了互相呼叫。 我有麻烦的for循环是检查女王是否安全的位置。我指出在评论中没有完成的for循环。 //forward declarations int backtrack

    0热度

    1回答

    我被赋予修改一个8皇后程序的任务,使用一维数组并使用蛮力(已经做过回溯)。我想出了以下代码: #include <cmath> #include <iostream> using namespace std; bool ok(int board[8]){ for(int j = 0; j <= 7; j++){ //check for repeating digits cou

    0热度

    3回答

    NQueen problem是backtracking的着名示例。从source阅读后,我尝试了下面的代码片段。 int isSafe(int k,int i,int *x) { int j; for(j=0;j<k;j++) { //old queen is placed at jth row of x[j] column //ne