打印

[网络与技术] 一道小题目,从别的坛子上看到的

一道小题目,从别的坛子上看到的

3分钟内找出答案的人具有编程的潜力
天黑,雨,四人欲过一座桥.桥破旧,每次最多能容两人同时通过.且只有一支手电(过桥必须用手电). 甲单独过桥需1分钟,乙需2分钟,丙需5分钟,丁需7分钟.
则四人全部通过的最短时间是多少.
别当成脑筋急转弯啊,那样的话,可热闹了,什么甲背着丁,扔手电就都出来了

TOP

回复: 一道小题目,从别的坛子上看到的

很有趣的问题。
随便构思一下。
定义一个spend[3][3]数组,赋初值为(0,1),(0,2),(0,5),(0,7);其中0代表未过桥,过桥则修改为1
用一个两重WHILE循环构造两两组合遍历(取两个,剩下两个再为一组),每次组合取最大值为消耗时间,最小值为返回时间,返回的人要将1改回0。
外循环检查是否都过桥,退出条件是spend[]都为spend[1][]
内循环构造两两组合.
呵呵,编程还是很烦人的事情,也没有时间了,大家接着玩吧.

TOP

我的想法:甲最快,让甲和其他几人分批过去,然后甲回来送手电,这样甲回来三次,3分钟,其他各人过去各需要2、5、7分钟,一共要17分钟,对吗?

TOP

当前时区 GMT+8, 现在时间是 2009-1-8 21:55

Processed in 0.049116 second(s), 6 queries.