「傳教士問題」

2021-06-26 01:30:23 字數 895 閱讀 7534

本題的思路是使傳教士們所占用的傳教區域重疊,即找出每個傳教士的對角線上還沒被占用的點的數目最少。

**如下:

[cpp]view plain

copy

//from big heart

[cpp]view plain

copy

//傳教士

#include 

using

namespace

std;  

intfind_min(

inti,

intj);  

void

change(

inti,

intj);  

inta[20][20];  

intn,m;    

//4行3列

intmain()  

}  }  

change(i_,j_);  

timer++;  

min_ = 400;  

}while

(iscontinue);  

cout<<--timer;  

}  int

find_min(

inti,

intj),y_[4] = ;  

for(

inttimer = 0;timer<4;timer++)  

}  }  

return

count-3;  

}  void

change(

inti,

intj),y_[4] = ,x,y;  

for(

inttimer = 0;timer<4;timer++)  

}  }  

傳教士過河問題

傳教士過河問題是乙個耳熟能詳的問題,也是很多智力遊戲中經常出的題目,但是,我從來都沒有學到乙個解決這類問題的通解。在 人工智慧 課程中學到了,當時覺得這個題目很有意思,作為大四的學生,本來已經對上課沒有什麼興趣了。不過,恰巧,我去上的那幾節課中有這個問題。但是,老師的課件上好像有些問題,我課下想了想...

傳教士野人過河問題

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

野人傳教士問題 盲目搜尋

從前有一條河,河的左岸有 m個傳教士 missionary 和m 個野人 cannibal 和一艘最多可乘 n人的小船。約定左岸,右岸和船上或者沒有傳教士,或者野人數量少於傳教士,否則野人會把傳教士吃掉。程式設計,接收m和 n,搜尋一條可讓所有的野人和傳教士安全渡到右岸的方案。我們先假設左岸有 3個...