火車運煤問題

2021-06-25 12:26:36 字數 895 閱讀 7576

本文章**

xx公司的一道筆試題,煤礦有3000噸煤要拿到市場上賣,有一輛火車可以用來運煤,火車最多能裝1000噸煤,且火車本身需要燒煤做動力,每走1公里消耗1噸煤,如何運煤才能使得運到市場的煤最多,最多是多少?

最優解:

1,火車從煤礦出發3次,也即回來2次。(這樣可以把3000噸都運出,回煤礦次數越多越費煤,所以最少需要回2次)

2,火車每次回煤礦要是空車。(如果不是空車,回煤礦兩次顯然不可能把所有煤運出去)

3,由於回煤礦兩次,所以在中途有兩個停車點,剩餘的煤卸在停車點。

因此,最近的卸煤點設為x(與煤礦的距離),遠處的卸煤點設為y(與x的距離),則1000 – 2x = 3x。2x是第一次卸煤時從煤礦往返消耗煤量,3x是第二次卸煤(在遠處的卸煤點y)時從煤礦往返到x消耗煤量+最後一次運煤時途經x消耗煤量。這樣解得x = 200

第乙個1000噸煤供中途跑路用。

由於每次從煤礦出路過x時,煤量補滿;每次回煤礦路過x時煤剛好用完,然後補夠x。這樣相當於第二個卸煤點的煤是從x點滿載運出來的1000噸剩餘的煤量,1000 – 2y = y。y是從第乙個卸煤點到第二個卸煤點間的距離。這樣解得y = 333.33

於是x卸煤點距煤礦200公里,y卸煤點距煤礦333.33 + 200 = 533.33公里。

第二個1000噸煤也供中途跑路用。

這樣最後一次運煤,途經x時,把x的煤全部用完,然後火車滿載;途經y時,把y的煤全部用完,然後火車滿載。於是,在y點時,火車滿載1000噸煤,距離終點1000 - 533.33公里,路上消耗1000 - 533.33噸煤,剩餘1000 – (1000 – 533.33) = 533.33噸煤。

火車運煤問題

這個題的解答並不難,有很多都給出了答案,但是想說清楚道 理還是比較繞彎。如果想做程式設計做模擬,很簡單,但是一些邊界條件 中間過程都很繞,所以把這個不是程式設計題的程式設計題放在這裡解答一下,供參考。根據題意可知有三種運輸方式,分別是成本為5,成本為3,成本為1.下面簡稱t5,t3,t1.首先給出最...

火車運煤問題

這個可能是乙個比較經典的智力題了,和以前的那個 賽馬問題 很相似,其題目如下 你是山西的乙個煤老闆,你在礦區開採了有3000噸煤需要運送到市場上去賣,從你的礦區到市場有1000公里,你手裡有一列燒煤的火車,這個火車最多只能裝1000噸煤,且其能耗比較大 每一公里需要耗一噸煤。請問,作為乙個懂程式設計...

火車運煤問題

3次 2次 1次 a 起點 b c d 終點 2次 1次 x y z 為什麼是5x 3y 2000?3000 1000 3,將3000噸煤運離原始地點,至少要運三次,因為運輸的次數越多燒掉的煤就越多,到終點時剩下的煤就越少,所以把煤運離起始地點一定是3次,也就是5x 往3次,返兩次 中間必須停在兩個...