一个火车运煤算法的思考

简介: image.png一、问题描述你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大――每一公里需要耗一吨煤。
image.png

一、问题描述

你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大――每一公里需要耗一吨煤。

请问,作为一个懂编程的煤老板的你,你会怎么运送才能运最多的煤到集市?

二、思考过程

这道题一开始看上去好像是无解的,因为你的火车每一公里就要消耗一吨煤,而到目的地有1000公里,而火车最多只能装1000吨媒。如果你的火车可以全部装下,到目的地也会被全部烧光,一丁点也不剩。所以,很多人的第一反应都是觉得这个不太可能。

三、结论:

  • 装1000吨煤,走250公里,扔下500吨煤,回矿山。

  • 装1000吨煤,走到250公里处,拿起250吨煤继续向前到500公里处,扔下500吨煤,回矿山。此时火车上还有250吨,再加上在250公里处还有250吨煤,所以,火车是可以回矿山的。

  • 装上最后1000吨煤,走到500公里处,装上那里的500吨煤,然后一直走到目的。

同学们一定还有更好的方案,请集思广益!!!

目录
相关文章
|
调度 SoC Windows
基于蒙特卡洛的电动车有序充放电(Matlab代码实现)
基于蒙特卡洛的电动车有序充放电(Matlab代码实现)
140 0
|
机器学习/深度学习 传感器 算法
【有序充电】基于蒙特卡洛算法实现1000天公交车、出租车、公务车和私家车四种车辆的充气负荷模拟附matlab代码
【有序充电】基于蒙特卡洛算法实现1000天公交车、出租车、公务车和私家车四种车辆的充气负荷模拟附matlab代码
|
算法
算法:奶牛慢跑
题目: 奶牛们又出去锻炼蹄子去了! 有 N 头奶牛在无限长的单行道上慢跑。 每头奶牛在跑道上开始奔跑的位置都不相同,一些奶牛的奔跑速度也可能不同。
113 0
|
机器学习/深度学习 人工智能 大数据