1. 賽馬問題:
一共有25匹馬,有一個賽場,賽場有5個賽道,就是說最多同時可以有5匹馬一起比賽。假設每匹馬都跑的很穩定,不用任何其他工具,只通過馬與馬之間的比賽,試問,最少得比多少場才能知道跑得最快的5匹馬?(不能使用撞大運的算法)
解析:http://hxraid.iteye.com/blog/662643
2. 火車運煤問題:
你是山西的一個煤老板,你在礦區開采了有3000噸煤需要運送到市場上去賣,從你的礦區到市場有1000公里,你手里有一列燒煤的火車,這個火車最多只能裝1000噸煤,且其能耗比較大——每一公里需要耗一噸煤。請問,作為一個懂編程的煤老板的你,你會怎么運送才能運最多的煤到集市?
解析:
因為是3000噸的煤總量,所以將路線分割為3段,也就是中間設置兩個節點。三段路程分別是x/y/z。 原因如下: 讓3000噸貨物到第一個節點時能留下2000噸煤, 讓2000噸貨物到第二個節點時能留下1000噸煤, 這樣最后火車可以滿載1000噸煤走剩下的最后一段路線,達到運載貨物最多的目的。 (總之,每個節點都要有1000整數的煤,以達到最大化,避免零頭浪費) 第1個節點公式 公式 3000-5x=2000,得出x=200 第2個節點公式 公式 2000-3y=1000,得出y=333.3循環 則 z=1000-x-y=466.6循環 最后剩余1000-z=533.3循環噸煤 如果是4000噸煤,每次最大運輸也是1000噸煤,則分4段路程,設3個節點 總的想法是讓火車每次往前運煤都盡量處於滿載狀態
3. 飛機加油問題:
3架飛機,5架次
4. 兩個雞蛋問題:
樓層扔雞蛋問題
Google面試題:扔雞蛋問題
Problem of Two Eggs
5. 過橋問題和倒水問題:
http://blog.csdn.net/morewindows/article/details/7481851