野人與傳教士過河問題

2021-08-07 16:55:08 字數 1070 閱讀 2334

題目:設有三個 傳教士和3個野人來到河邊,打算乘乙隻船從右岸渡到左岸去。該船的負載能力為兩個人。在任何時候,如果野人人數超過傳教士人數那麼野人就會把傳教士吃掉。他們怎樣才能用這條船安全地把所有人都渡過河去?

河岸(a)    對岸(b)   船上        

2c+2y 1c+1y

回去:傳教士划船回去

河岸(a)    對岸(b)   船上        

2 c+ 2 y 1y 1c

(2)第二次渡河: 1 傳教士 + 1 野人

河岸(a)    對岸(b)   船上        

2 c+ 1 y 1 y 1 c+1 y

回去:野人划船回去

河岸(a)    對岸(b)   船上        

2 c+ 1 y 1 y +1 c 1y

(3)第三次渡河: 1 傳教士 + 1 野人

河岸(a)    對岸(b)   船上        

1c+ 1y 1y+1c 1c+1y

回去:野人划船回去

河岸(a)    對岸(b)   船上        

1 c+ 1 y 1 y +2c 1y

(4)第四次渡河: 1 傳教士 + 1 野人

河岸(a)    對岸(b)   船上        

1 y 1 y +2 c 1 c+1 y

回去:傳教士划船回去

河岸(a)    對岸(b)   船上        

1 y 2 y +2 c 1 c

(5)第五次渡河: 1 傳教士 + 1 野人

河岸(a)    對岸(b)   船上        

2 y +2 c 1 c+1 y

最終都到達了河岸a。

傳教士野人過河問題

這個問題是人工智慧中經典的搜尋問題,下面用深度優先搜尋演算法來解這個題,示例 如下 include include include using namespace std typedef struct mcnode listfringe 相當於佇列 vectorclosed closed表 判斷是否...

傳教士與野人過河問題

360公司 2012年校園招聘會筆試題演算法題 傳教士和野人問題 missionaries and cannibals 這是乙個經常在有關討論人工智慧的書籍中見到的問題,其描述是這樣的 有n個傳教士和n個野人來到河邊渡河,河岸有一條船,每次至多可供k人乘渡。問傳教士為了安全起見,應如何規劃擺渡方案,...

傳教士與野人過河問題

360公司 2012年校園招聘會筆試題演算法題 傳教士和野人問題 missionaries and cannibals 這是乙個經常在有關討論人工智慧的書籍中見到的問題,其描述是這樣的 有n個傳教士和n個野人來到河邊渡河,河岸有一條船,每次至多可供k人乘渡。問傳教士為了安全起見,應如何規劃擺渡方案,...