backtracking

    4熱度

    3回答

    在研究著名的N Queens puzzle,我碰到this簡單,易於理解的C實現: #include<stdio.h> #include<math.h> int board[20],count; int main() { int n,i,j; void queen(int row,int n); printf(" - N Queens Problem Using Backtra

    3熱度

    2回答

    給定一個字典作爲散列表。找到給定單詞所需的最少# 刪除,以使它與 字典中的任何單詞匹配。 有沒有一些聰明的技巧來解決這個問題的小於指數複雜度(嘗試所有可能的組合)?

    2熱度

    1回答

    我有一個學校項目,我必須根據用餐偏好採取人員和座位。例如,假設我有以下人員: 鮑勃:喜歡的食物A,B,C,d,E 卡羅爾:喜歡的食物B,E,d,C,A 羅納德:喜歡的食物E,A,C,B,d 斯泰西:喜歡的食物A,E,B,d,C 食物的順序對應自己的喜好,第一食品是他們最喜歡的,最後被最小。理想的順序是鮑勃,斯泰西,卡羅爾,羅納德。它將分享最喜歡的食物的人和按照喜好按字母順序排列的人坐在一起。 我的

    1熱度

    3回答

    public static int[][] solve(int[][] input){ for (int i = 0; i < 9*9; i++){ if(input[i/9][i % 9] != 0){ continue; } for (int j = 1; j <= 9; j++){ if(validNu

    0熱度

    1回答

    我想產生像這些的所有數字: 1位: 1,2,3,4,5 ,6,7,8,9 - (我知道有9號1個 位數) 2個數字: 12,13..19然後21,23 ...... 29 ..... .91,92,93,... 98(我知道 有9 * 8 = 72位數的2位數字)... 個 ... 9位數字: 123456789 .... 987654321(我知道有9! 9 位數字)所有的數字都互不相同 我不認

    0熱度

    2回答

    我寫了一個Python程序給一個字符串的所有排列,使用回溯: class Solution(object): def permute(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ if nums == None or len(nums) <=

    0熱度

    2回答

    所以我目前正在編寫一個數獨求解器,並且必須創建求解函數。 考慮: solve :: Sudoku -> [Maybe Sudoku] 其中數獨的是[[Maybe Int]]。 這是通過蠻力來解決的,所以我遞歸地檢查數獨是否可以被解決,是否滿了,但是是否中斷約束(例如在一行/列/塊中重複的數字),否則, 9遞歸地在第一個找到的空白點直到它工作或直到我知道它永遠不會工作。 當我發現第一個空白空間接

    2熱度

    1回答

    好問題,我有這個圖: 我必須讓總部設在分支限界,並使用回溯代碼,是要顯示的最佳途徑,以配合圖的節點。所以在這個例子中,最佳解決方案必須是>> [(1,4),(2,3)]。但是我的算法顯示了這種可能的解決方案,這不是最佳的>> [(1,2),(3,4)]。我認爲這個問題可能是在'撤銷'路線上,但我不確定......如果有人能幫我解決這個問題,我會非常感激! 這裏是我的代碼: import netwo

    3熱度

    1回答

    這裏是我在Python中的代碼,撥打knightsTour(0,0,1,sol,xMove,yMove)應該返回True,但我得到False。我無法找到這個錯誤。 def safe(x,y,sol): return x >= 0 and x < 8 and y >= 0 and y < 8 and sol[x][y] == -1 def knightsTour(x,y,move,so

    2熱度

    2回答

    我手邊有一個問題,它是N皇后問題的一個變種。問題是:找到一種方法來放置4皇后和1騎士在一個8 * 8的棋盤上,這樣所有的棋子都可以受到這些棋子的攻擊。棋子可以相互攻擊。 我明白如何解決使用回溯的原始N皇后問題。但是,我無法想出如何減少這個新問題的搜索次數。我希望有人能給我一個提示。謝謝。 謝謝大家了。@ vish4071 @Karoly霍瓦特@M Oehm我會考慮使用蠻力,看看我得到。