river-crossing-puzzle

    3熱度

    4回答

    您知道river-crossing problems。這是一個排序說明: 曾幾何時,三個食人族引導三名傳教士穿越叢林。他們正在前往最近的任務站。過了一段時間,他們到達了一條寬闊的河流,裏面充滿了致命的蛇和魚。沒有船隻,沒有辦法過河。幸運的是,他們在短暫的搜索後發現了一排排兩排槳。不幸的是,這艘船太小,無法承載它們。它一次只能攜帶兩個人。更糟糕的是,由於河流的寬度,沒有辦法將船帶回來,除了將其劃回。

    0熱度

    1回答

    我是序言新手,開始學習序言。 我發現傳教士和食人族的謎題有趣,可以在序言中解決。我研究了很多論壇,並找到了我認爲是非常好的解決方案的鏈接。但一些我沒有得到實際結果。輸出的動作似乎是錯誤的。我試圖追蹤程序,在賦值時看起來一切都很完美,但不知何故解決方案是錯誤的。 我需要高手幫忙才知道邏輯錯誤的確切位置。 來源:http://www.enrico-franchi.org/2008/12/mission

    0熱度

    1回答

    我是新來處理Java和我正在採取的課程是向我展示一些代碼,但是當我試圖運行它。由於從未設置父項,它返回空指針異常。 所以在一個抽象類中,我如何通過父項?這是基於AI搜索!謝謝!! 繼承人的代碼: 這是基於農民狼羊白菜問題。 AbstractState: package hw1; public abstract class AbstractState implements State {

    0熱度

    1回答

    我正在嘗試編寫一個DFS來解決多個河流問題(Fox山羊白菜,嫉妒的丈夫,僱傭軍和食人族等)。我已經編寫了拼圖課程,但是我在構建解算器時遇到了麻煩。我瞭解DFS是如何工作的,但我無法弄清楚從哪裏開始適應這種設計。 每個謎題都有一個move()方法,如果它是有效的移動,則返回true;如果它破壞規則集,則返回false。乘客在一對列表中進行跟蹤,這兩個列表代表河流各自的一側。解算者可以訪問這些列表,但

    2熱度

    2回答

    我的問題是關於一個古老的交通問題 - 在一條只能夠一次轉讓一件物品的小船上載着三件物品。約束條件是某些項目不能放在一起,例如山羊的捲心菜,山羊的狼等。這個問題應該使用Integer編程或其他優化方法解決。成本函數是所有項目在河的另一邊,並且到達那裏需要的旅行可能是來自Simplex(?)的輸出嘗試不同的可行解決方案。我想知道是否有人有整數編程(或線性規劃)這個問題的表述,和/或Matlab,Oct

    0熱度

    2回答

    我正在研究一個代碼來實現不同的搜索功能來解決農夫狼山羊白菜問題。我們給了我們的主要和FarmerWolfGoatCabbage類實現的幾個類。其中一個類別,AbstractSolver包括線 Iterable<AState> moves = s.getPossibleMoves(); for (AState move : moves) if (!closed.conta

    4熱度

    1回答

    我試圖翻譯一個從Scala到Haskell的捲心菜 - 山羊狼拼圖的解決方案,但由於解決方案在findSolutions中調用head時代碼會拋出並出錯列表是空的,所以問題似乎在循環中的某個地方。 findMoves似乎正常工作。 import Data.Maybe(fromMaybe) data Item = Farmer | Cabbage | Goat | Wolf deriving (

    0熱度

    1回答

    所以我必須編寫不同的程序來幫助我解決農民 - 狼 - 山羊 - 捲心菜肥料難題。對於那些不瞭解它的人來說,它涉及到一個農民必須與其他所有物體從一條河的北岸橫渡到南岸。銀行在以下三種情況下是安全的:農民在場,或者狼沒有留下山羊,或者山羊沒有留下捲心菜。爲了練習的目的,變量將是[f,b,g,w,c]。 我被困住的程序涉及找到1或2個元素的列表(總是包括農民-f),它可能是銀行運輸的一部分而不會使其不安