昨天面试被问到一道面试题,遗憾没有给出最优解。现列如下,给以后面试的同学个参考。
煤矿有 3000 吨煤要拿到距离为 1000 km 的市场上卖,有一辆火车可以用来运煤,火车最多能装 1000 吨煤,且火车本身需要烧煤做动力,每走 1 公里消耗 1 吨煤,如何运煤才能使得运到市场的煤最多,最多是多少?
图1 示意图
先说说当时我的思路:
1.因为路途比较远,故中途必然可以允许放置煤,且可以再次回到出发点。
2.第一次出发,拉 1000 吨,跑 250 公里,将 500 吨煤放下(记为 M1),然后返回到 A;
3.第二次出发,拉 1000 吨,跑到 250 公里时,从 M1 处取 250 吨煤,刚好弥补用掉的 250 吨煤,再跑 250 公里。放置 500 吨,记为 M2,然后返回。到 M1 处时,取剩下的 250 吨
煤,刚好回到 A;
4.第三次出发,拉 1000 吨,跑到 M2 时,取回剩下的 500 吨,刚好弥补用掉的 500 吨,跑到 B 时,还剩下 500 吨。