你是山西的乙個煤老闆,你在礦區開採了有3000噸煤需要運送到市場上去賣,從你的礦區到市場有1000公里,你手裡有一列燒煤的火車,這個火車最多只能裝1000噸煤,且其能耗比較大——每一公里需要耗一噸煤。請問,作為乙個懂程式設計的煤老闆的你,你會怎麼運送才能運最多的煤到集市?
答案:
於是,你最多可以運送500噸煤到市場(當然,火車也回不去了,因為那礦山沒有煤了)
533是應該是最優解
另一種分析:
分析:列車一次最多只能運1000噸煤,不難看出當剩餘煤在(2000,3000]的時候至少需要運三次,在(1000,2000]的時候運兩次,在(0,1000]的時候運一次。
為了減少列車往返的次數,根據上述區間所示,列車中途可設兩個停靠點,且其存煤量最好為2000和1000。
計算:設第乙個停靠點距起點x,第二個停靠點距起點y,最終可運達市場煤z
則5x=1000,3(y-x)=1000,z=1000-(1000-y)=y
解得:x=200,z=y=1600/3=533.33
個人認為類似這種題目並不需要很複雜的數學知識,而更多的是依賴於你的思考,能夠很清楚的在腦海中理清前後之間的邏輯關係那樣問題就會變得非常簡單容易。
面試題 火車運煤問題
很有意思的東西 題目如下 你是山西的乙個煤老闆,你在礦區開採了有3000噸煤需要運送到市場上去賣,從你的礦區到市場有1000公里,你手裡有一列燒煤的火車,這個火車最多只能裝1000噸煤,且其能耗比較大 每一公里需要耗一噸煤。請問,作為乙個懂程式設計的煤老闆的你,你會怎麼運送才能運最多的煤到集市?這道...
面試題 火車運煤問題
面試題 火車運煤問題 你是山西的乙個煤老闆,你在礦區開採了有3000噸煤需要運送到市場上去賣,從你的礦區到市場有1000公里,你手裡有一列燒煤的火車,這個火車最多只能裝1000噸煤,且其能耗比較大 每一公里需要耗一噸煤。請問,作為乙個懂程式設計的煤老闆的你,你會怎麼運送才能運最多的煤到集市?答案一 ...
面試題 火車運煤問題
你是山西的乙個煤老闆,你在礦區開採了有3000噸煤需要運送到市場上去賣,從你的礦區到市場有1000公里,你手裡有一列燒煤的火車,這個火車最多只能裝1000噸煤,且其能耗比較大 每一公里需要耗一噸煤。請問,作為乙個懂程式設計的煤老闆的你,你會怎麼運送才能運最多的煤到集市?首先想到最優解的兩個特徵 1,...