n-queens

    0热度

    1回答

    我得到这个代码和基本上如果我输入:0 1 1然后将被分配到在该邻接矩阵我命名为chessboard.Problem为4×4大小的chesboard位置0 1,如果我进入 1 0, 3 1, 0 2, 2 3 它应该输出 [[0, 0, 1, 0], [1, 0, 0, 0], [0, 0, 0, 1], [0, 1, 0, 0]] ,但我得到“诠释”对象的错误不支持该订单项任务: c

    1热度

    2回答

    我想解决n女王问题没有任何第三方库。所以我只使用普通的Python数组和循环。这里的nQueen功能 def nQueenBackTrack(self, row, n): for i in range(n): if self.isTheQueenSafe(row , i): print(row,i) self.board[row][i] =

    0热度

    1回答

    我试图重新创建n皇后问题,并用模拟退火解决它,虽然从我的对象类板对象抛出一个错误,当我尝试使用len添加温度(板)** 2。任何帮助将非常感谢!我已经包含了源代码和输出。谢谢! import time import random import math class Board(object): """An N-queens solution attempt.""" d

    2热度

    2回答

    我正在用迭代解决N皇后问题(无递归)。我现在面临的问题是重复的解决方案。例如4×4板有2种解决方案我打印4种解决方案,所以说我找到两次相同的解决方案。 让我进入代码为更好地概览: def solution(self): queen_on_board = 0 for row in range(self.N): for col in range(self.N):

    2热度

    1回答

    我正在尝试查找回溯nQueen算法的第一个解决方案。我想在找到第一个解决方案后终止代码的执行。但程序一直运行直到找到所有的解决方案。 这里是我的代码: def nQueenBackTrack_first_solution(self, row, n): i = 0 while i < n: if self.isTheQueenSafe(row , i):

    9热度

    2回答

    我想了解Select monad是如何工作的。显然,它是Cont的表亲,它可以用于回溯搜索。 我有这个基于列表的解决N皇后问题: -- All the ways of extracting an element from a list. oneOf :: [Int] -> [(Int,[Int])] oneOf [] = [] oneOf (x:xs) = (x,xs) : map (\(y

    0热度

    1回答

    我正在尝试用2D数组来完成nQueens拼图问题。我无法检查当前元素的对角元素是否被占用?我试着做另一个for循环,但它只改变了下一行的输出,其余的都是一样的。 这里是我的代码: package main; public class Board { public static final int n = 8; static boolean isSafe(boolean[][]board

    0热度

    1回答

    我目前正在研究N皇后问题,其中输入将是二维数组的大小和二维数组的实际值。这段代码将检查这个输入是否有效,因为没有其他皇后互相攻击,或者没有。如果它有效,你只需打印出true,否则打印出false。我的代码约95%完成,但我在对角线上遍历2D阵列时遇到了问题。我希望能够检查NE,NW,SE,SW对角线,但是我一直在让我的代码超出范围。我知道我为什么一直得到它,我只是不知道如何解决它。我正在寻找一些关

    1热度

    1回答

    我是一名初学者,我正在创建一个程序,将在棋盘上放置8个皇后。 我必须: 1)创建空白棋盘(整数8X8 2D阵列,全0) 2)使用一个循环,要求在板8点上的位置的用户,具有1在更换0这个位置 3)显示最终的板 我不必包括任何错误检查或检查重复的位置。 我的代码没有正确存储值。 只有最后一张打印正确。 package chessboard; import javax.swing.JOptionPa

    4热度

    3回答

    这个想法是试图通过完全将皇后完全放置在棋盘的每一行中来解决“皇后问题”,并且看看它需要多少次重复来解决它。棋盘可以是任何尺寸。 我的想法是创建s列表,每个列表包含s“空白”字符(下划线)。然后为每一行随机挑选一个插入皇后的位置(“I”值),然后标记下方和对角线下方的所有位置(我将逐行进行,所以我不必担心上面的行)与X.如果在任何迭代中随机选择的女王位置与该行中任何X的位置相匹配,我从头开始新的棋盘