搭车

来自计算思维百科
跳转至: 导航搜索
搭车.jpg

有10个人要从城市a出发去往城市b。他们只有一辆车(两个座位,包括司机)。已知城市a和城市b相距1000公里,开车速度100公里/小时,步行速度5公里/小时。

问:10个人都到达城市b,最少要花多长时间?

解决方案

要想花最少的时间,就应该把每一秒钟都用上,也就是没有等待,所有人在这个时间内都是行进的状态,这时当10个人全部到达终点时,用时最短。那么,在这个时间内只有两种状态:

(1)8个人走路,两个人坐车,设时间为x;

(2)9个人走路,1个人开车往回走,设时间为y;

每个人都要前进1000公里,那么10个人一共走了10×1000=10000公里;

(1)(8×5+100×2)x+(9×5-100×1)y=10000;

单纯考虑汽车,它往前走的路程-往回走的路程应该是等于两个城市之间的距离1000;

(2)100×(x-y)=1000;

由上面两条式子求的t=x+y=92.16(小时);

运用的计算思维

解决上题过程中,对每个对象的选择很重要,像式子1是考虑10个人作为对象的;式子2是把汽车作为考虑的对象的,总体来说,解题运用了抽象的计算思维。

参考文献

http://bluecore.iteye.com/blog/508276