有一道校招笔试题:
一个商人有3000瓶水,他要赶着骆驼穿过1000公里的沙漠去卖掉这些水。已知骆驼一次性可驮1000瓶水,而商人和骆驼每走一公里又要消耗一瓶水。商人可卖出多少瓶水?
A. 0瓶 B. 300瓶 C. 500瓶 D.800瓶
首先:你们可以自己做一下,想象答案,提前约定是,商人穿过沙漠不用考虑是否回来(不然就是0瓶了,回不来了)。
其次,答案是不对的,这个我接下来会解释。
最先我们的思路是把水运到最远的地方,因为有3000瓶水,一次性是远不过沙漠的,所以要采用接力的方式,
(1)先把1000瓶运到最远处:也就是把1000瓶运到250千米处,留下500瓶,这样刚好可以回来。
(2)再运1000瓶水,到达250千米处的时候,补充至1000瓶(此时250千米处还剩下250瓶水),然后到达500千米处,留下500瓶水,自己身上还
剩下250瓶水,刚好可以回到250千米处,这样可以用250千米处的250瓶水回到出发点。
(3)运最后的1000瓶水,到达500千米处,自己身上还剩下500瓶水,用500千米处的500瓶水补充至1000瓶水,然后运到1000千米处,还剩下500瓶水可以卖。
下图可以很明白得说明这个过程。
所以,很明显,答案是选C的。
很可能绝大多数人到达这里就停止了,以为这就是正确答案了。但是答案真的正确吗?
其实不正确,我们还可以做到更多的水。
怎么思考呢?
还是采用“浪费”的思想,如果在路途中,我们多走了路,那么就表明我们多喝掉了本可以多卖的水。
那么,我们走的路程是最少最佳的吗?
注意到在0-250千米处,我们走了5趟,在250千米处,我们走了3趟,在500-1000米处,我们走了1趟。
这里的5趟意味着什么?5趟意味着我们要运3次(也就是对应3000瓶水)的次数。
3趟对应着我们要运2000瓶水的次数。
1趟对应着我们要运1000瓶水的次数。
而从3000瓶到2000瓶,我们需要走250千米5趟吗?
不需要!我们只需要走200千米就够了,200*5 = 1000瓶,我们刚好还剩下2000瓶水,这样接下来我们就只需要走2000瓶水对应的3趟就够了
所以200千米到250千米的多出来的2趟是多走的,也就是说我们可以节省水。
具体的操作过程是:
(好吧,说着太累,自己看图吧,虽然做图很辛苦,但是简洁明了)这里的要点就是,看水什么时候变成3000,2000等整千数倍,来确定下一次待的地方。
注意,这里的第二次终点533米,而不是534米,大家可以自己画一下,如果是534米的话,虽然没有浪费水,但是最终只能卖532瓶水。
所以,最终的答案,应该是533瓶水(小数不算啊,都按整的来)。
这篇博客探讨了一道校招笔试题,商人如何用骆驼将3000瓶水穿越沙漠销售。通过接力运输和优化路径,可以避免浪费水,最终商人在沙漠尽头可以卖出533瓶水,而非最初的答案C.500瓶。
3164

被折叠的 条评论
为什么被折叠?



