農(nóng)夫過(guò)河

問(wèn)題描述:?? 在很久很久以前,有個(gè)農(nóng)夫叫小明(? ?_?)?式廷,他面前有條長(zhǎng)長(zhǎng)的小河咐扭,農(nóng)夫當(dāng)然是可以游過(guò)去的,但他還有一些小伙伴——一只狼(╬▔皿▔)凸滑废,一只羊≡[蝗肪。。]≡和一顆大白菜Ω蠕趁。于是上帝給了他一條小船薛闪。既然是小船,那么每次只能帶一個(gè)東西過(guò)河俺陋。那么問(wèn)題又來(lái)了——如果他帶大白菜過(guò)河豁延,那么失去農(nóng)夫保護(hù)的小羊羔會(huì)被狼吃掉。如果帶狼過(guò)河腊状,小羊羔又會(huì)啃掉白菜诱咏,于是困惑的小明向無(wú)所不能的程序員尋求了幫助——


問(wèn)題分析:

既然要安全的過(guò)河,就要先分析出怎樣才是安全的:狼和羊在一起時(shí)不安全缴挖,羊和白菜在一起時(shí)不安全袋狞。

接著,為了模擬物品過(guò)河,需要把物品分為兩種狀態(tài)苟鸯,比如1法焰、0,在這邊的為1倔毙,過(guò)河之后變?yōu)?埃仪。或者定義兩個(gè)棧陕赃,過(guò)河時(shí)將物品出棧到另一個(gè)棧里面卵蛉。


解決問(wèn)題:

1、

如果采用1么库、0狀態(tài)傻丝,就可以把問(wèn)題轉(zhuǎn)化為一個(gè)數(shù)學(xué)模型:每個(gè)物品都有1、0兩種狀態(tài)诉儒,共有四個(gè)物品葡缰,所以全部狀態(tài)就是2?=16種,接著把這些狀態(tài)中不安全的去掉忱反,接下來(lái)泛释,農(nóng)夫來(lái)回過(guò)河,所以每次的狀態(tài)必定是相反的温算,就可以進(jìn)行進(jìn)一步的篩選怜校。篩選到最后就是所有可行步驟的值了。再對(duì)這些值進(jìn)行分析注竿、排序茄茁、就可以得到結(jié)果:

(1)農(nóng)夫、狼巩割、羊裙顽、白菜開始都在左岸0000,農(nóng)夫拉羊從左岸到右岸1010宣谈,農(nóng)夫自己從右岸到左岸0010愈犹,農(nóng)夫拉著白菜從左岸到右岸1011,農(nóng)夫把羊從右岸拉回左岸0001蒲祈,農(nóng)夫拉著狼從左岸到右岸1101甘萧,農(nóng)夫自己從右岸到左岸0101,農(nóng)夫拉著羊從左岸到右岸1111梆掸。

(2)農(nóng)夫扬卷、狼、羊酸钦、白菜開始都在左岸0000怪得,農(nóng)夫拉羊從左岸到右岸1010,農(nóng)夫自己從右岸到左岸0010,農(nóng)夫拉著狼從左岸到右岸1110徒恋,農(nóng)夫把羊從右岸拉回左岸0100蚕断,農(nóng)夫拉著白菜從左岸到右岸1101,農(nóng)夫自己從右岸回到左岸0101入挣,農(nóng)夫拉著羊從左岸到右岸1111亿乳。


2、

用棧會(huì)比用數(shù)學(xué)模型運(yùn)行的時(shí)間更長(zhǎng)径筏,這就是數(shù)學(xué)學(xué)得好的強(qiáng)大之處吧葛假。

這個(gè)方法就是純粹一個(gè)一個(gè)試出來(lái)了。定義兩個(gè)棧:岸1和岸2滋恬,每次將岸1出棧到岸2中聊训,安全就接著從岸1出棧,不安全再嘗試從岸2帶回來(lái)一個(gè)是否安全(用岸的拷貝進(jìn)行嘗試)恢氯,也不安全就只能讓岸2再還給岸带斑。

當(dāng)然這樣會(huì)進(jìn)行很多嘗試,因此可能會(huì)出現(xiàn)重復(fù)勋拟,從而導(dǎo)致無(wú)限循環(huán)勋磕。比如先把羊帶過(guò)去,然后把白菜帶過(guò)去指黎,再把白菜帶回來(lái)朋凉,然后帶白菜過(guò)去,帶白菜回來(lái)醋安,帶白菜過(guò)去,帶白菜回來(lái)......墓毒,所以還需要一個(gè)歷史記錄吓揪,每次帶過(guò)去,查看歷史記錄中是否有重復(fù)的所计,重復(fù)就跳過(guò)柠辞。所以這樣多次的出棧入棧查重會(huì)花費(fèi)很多時(shí)間。不過(guò)這個(gè)比較仿真主胧,模擬了人的思考過(guò)程(安慰自己下叭首,,)

就這樣踪栋,一個(gè)一個(gè)試焙格,總會(huì)找到屬于農(nóng)夫的姿勢(shì)。


總結(jié):

農(nóng)夫過(guò)河問(wèn)題需要進(jìn)行大量的判斷和計(jì)算夷都。用代碼模擬人的思考判斷眷唉,通過(guò)判斷去掉那些不合格的操作,再對(duì)剩下的進(jìn)行篩選就會(huì)容易很多。將它轉(zhuǎn)換成數(shù)學(xué)模型是更好地方式冬阳,雖然不那么直觀也不容易想到蛤虐,但可以更快速的計(jì)算出結(jié)果。數(shù)學(xué)模型可以很好的避開重復(fù)結(jié)果肝陪、輸出出錯(cuò)驳庭、思維不周等很多問(wèn)題÷惹希總之學(xué)好數(shù)學(xué)還是很重要的嚷掠。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市荞驴,隨后出現(xiàn)的幾起案子不皆,更是在濱河造成了極大的恐慌,老刑警劉巖熊楼,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件霹娄,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡鲫骗,警方通過(guò)查閱死者的電腦和手機(jī)犬耻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)执泰,“玉大人枕磁,你說(shuō)我怎么就攤上這事∈趿撸” “怎么了计济?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)排苍。 經(jīng)常有香客問(wèn)我沦寂,道長(zhǎng),這世上最難降的妖魔是什么淘衙? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任传藏,我火速辦了婚禮,結(jié)果婚禮上彤守,老公的妹妹穿的比我還像新娘毯侦。我一直安慰自己,他們只是感情好具垫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布侈离。 她就那樣靜靜地躺著,像睡著了一般做修。 火紅的嫁衣襯著肌膚如雪霍狰。 梳的紋絲不亂的頭發(fā)上抡草,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音蔗坯,去河邊找鬼康震。 笑死,一個(gè)胖子當(dāng)著我的面吹牛宾濒,可吹牛的內(nèi)容都是我干的腿短。 我是一名探鬼主播,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼绘梦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼橘忱!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起卸奉,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤钝诚,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后榄棵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凝颇,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年疹鳄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拧略。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瘪弓,死狀恐怖垫蛆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情腺怯,我是刑警寧澤袱饭,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站瓢喉,受9級(jí)特大地震影響宁赤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜栓票,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望愕够。 院中可真熱鬧走贪,春花似錦、人聲如沸惑芭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)遂跟。三九已至逃沿,卻和暖如春婴渡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背凯亮。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工边臼, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人假消。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓柠并,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親富拗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子臼予,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容