组卷题库 > 高中信息技术试卷库
试题详情
【加试题】过桥问题。n个旅行者在夜晚要通过一座狭窄的桥,桥上最多只能上2个人且必须借助手电筒,手电筒只有一只。为了所有人在最短时间内过桥,设计算法如下:

⑴如果只有1人过桥,时间为个人过桥时间。

⑵如果有2人一起过桥,时间以慢的人为准。

⑶如果有3个人a、b、C,耗时Ta<Tb<Tc , 过桥方案为让a和b一起过桥,a拿手电筒回来,然后与C一起过桥。

⑷如果存在多于3个人,如a、b、……、y、z需要过桥,耗时Ta<Tb<……<Ty<Tx , 这时有两种可选方案,选择其中用时少的,直至剩余少于4人。

①最快的1个将最慢的2个分别送过桥。

a拿手电筒与z过桥,然后a拿手电筒回来再与y一起过桥,a拿手电筒回来;

②最快的2个将最慢的2个送过桥。

让a、b拿手电筒先过桥,a拿手电筒回来,让y、z手拿电筒过桥,然后b拿手电筒回来。

为验证方案,小明设计了相应的VB程序。首先从数据库中获取每个人的过桥时间,并显示在列表框List1中,单击“计算”按钮Command1,在文本框Text1中输出最短耗时,界面如图a所示。

知识点
参考答案
采纳过本试题的试卷
教育网站链接