n-queens

    0

    1答えて

    私は自分のコードの断片を持っています。私は、クイーンの配置の行、列、対角線をチェックしてお互いを攻撃しないようにする関数を書いています。現在、私は、斜めの機能の問題を抱えている: def checkDiagonal(T): for i in range(len(T) - 1): if abs(T[i] - T[i + 1]) == 1: return False retu

    0

    1答えて

    私はObjectクラスのボードオブジェクトがlenを使用して温度を追加しようとするとエラーをスローしますが、n-queensの問題を再現してシミュレーテッドアニーリングで解決しようとしていますボード)** 2。どんな助けも非常に高く評価されるでしょう!私はソースコードと出力を含めました。ありがとう! import time import random import math class B

    -1

    1答えて

    http://jeffe.cs.illinois.edu/teaching/algorithms/notes/03-backtracking.pdf enter image description here を理解していない強調表示された画像の尋ね Qを説明[I] = jはQ [I] = J + RI Q [i] = j-r + i どのようにこれらのステートメントは、行の列または対角線で2つのク

    0

    1答えて

    現在、入力が2D配列のサイズと2D配列の実際の値になるN Queensの問題に取り組んでいます。このコードは、他のクイーン同士が互いに攻撃していないか、そうでない場合にこの入力が有効かどうかをチェックします。その有効な場合は単にtrueを、それ以外の場合はfalseを出力します。私はコードで約95%の作業を行っていますが、2D配列を斜めに横断するのに問題があります。私は斜めにNE、NW、SE、SW

    0

    2答えて

    現在、8つのクイーンズ・クイーンズ・クイーンズ・クイーンズ・クイーンズ・クイーンズ・クイーンズ・クイーンズ・クイーンズ・クイーンズ・クイーンズ今、私はプログラムをほとんど作りましたが、私はプログラムを斜めにチェックする方法に固執しています。 これは(未完)コードです: #include <stdio.h> #include <stdlib.h> #include <math.h> int c

    1

    2答えて

    現在、N-Queensの問題を解決しようとしています。具体的には、8x8ボードの8人の女王を対象としています。 最初の部分が問題です。最初は、クイーンが既に行列にあらかじめ割り当てられている場合に、その要素が安全かどうかを決定する関数"safe"です。だから、:その後、 >chess.board <- matrix(data=0,8,8) >chess.board[r,c] <- 1 #the

    1

    2答えて

    Nクイーンズ問題の解決策を見つけようとしていた今日、 >safe <- function(a,b){ if((sum(b[a[1],])<1) & (sum(b[,a[2]])<1)) {return(TRUE) }else{ return(FALSE) } } は基本的に動作します。私は、水平および垂直面のために、次のコードを有する >ch

    -1

    1答えて

    def queens(n: Int): List[List[(Int, Int)]] = { def placeQueens(k: Int): List[List[(Int, Int)]] = if (k == 0) List(List()) else for { queens <- placeQueens(k - 1)

    2

    1答えて

    Pythonで古典的なn個のクイーン問題を解決しようとしています。残念ながら、私の期待とはかなり異なる結果でした。私はバックトラッキングアルゴリズムを理解していましたが、再帰を書く際にどこでミスをする可能性があるのか​​明確ではないかもしれません。私は1.print可能な解決策を試みた。 2.可能なすべてのソリューションを印刷します。 def n_queen_find1(n): answ

    0

    1答えて

    Iが入力場合、私は基本的にこのコードを持って、1:0、次いで1 chessboard.Problemがサイズ4×4のchesboardするためのものであるように、私は 1 0, 3 1, 0 2, 2 3 を入力した場合、私は、名前この隣接行列上の位置0~1に割り当てられます それが出力 [[0, 0, 1, 0], [1, 0, 0, 0], [0, 0, 0, 1], [0, 1,