Science 版 (精华区)
发信人: qpcwth (独翅鸟), 信区: Science
标 题: 过桥问题7
发信站: 哈工大紫丁香 (2002年04月14日22:32:57 星期天), 站内信件
过桥问题——经典智力题推而广之五 异调
七、结论 如果给定N个(速度不同)的旅行者,根据结论九我们知道有一个最佳方案
,在最初的4步里用模式一或模式二把最慢的两个旅行者移动到彼岸,于是问题被约化成
N-2个旅行者的形式。问题在于应该选择哪一种模式。继续假设A、B为走得最快和次快的
旅行者,过桥所需时间分别为a、b;而Z、Y为走得最慢和次慢的旅行者,过桥所需时间
分别为z、y。 在第六节中我们发现使用模式一移动Z和Y到彼岸所需的时间为:
z + a + y + a使用模式二移动Z和Y到彼岸所需的时间为: b + a + z + b
所以, 当2b>a+y时,应该使用模式一; 当2b<a+y时,应该使用模式
二; 当2b=a+y时,使用模式一或二都可以。 上面的讨论都是在N≥4时进行
的,那时最快、次快、最慢和次慢是四个不同的人。所以我们还要稍微讨论一下N=1、2
、3的情况。 N=1、2是不用动脑子的,直接通通过桥就是了。 N=3也很简单,用
穷举法可以发现由最快的人往返一次把其他两人送过河是最快的方法。 于是我们得
到了最终结论:最佳方案构造法:以下是构造N个人(N≥1)过桥最佳方案的方法: 1
) 如果N=1、2,所有人直接过桥。 2) 如果N=3,由最快的人往返一次把其他两人送
过河。 3) 如果N≥4,设A、B为走得最快和次快的旅行者,过桥所需时间分别为a、
b;而Z、Y为走得最慢和次慢的旅行者,过桥所需时间分别为z、y。那么 当2b>
a+y时,使用模式一将Z和Y移动过桥; 当2b<a+y时,使用模式二将Z和Y移动过
桥; 当2b=a+y时,使用模式一将Z和Y移动过桥。这样就使问题转变为N-2个旅
行者的情形,从而递归解决之。 最后当然我们要举一个具体的例子:七个旅行者,
所需过桥时间分别是1、4、5、5、5、8、9分钟。 我们假设他们顺次为A、B、C、D、
E、F、G,我们注意到C、D、E的速度一样,用第二节的方法太正规也太麻烦,我们可以
人为规定C速度稍稍大于D,D速度又稍稍大于E。采用结论十的方法,最快和次快的是A、
B,时间为1和4;最慢和次慢的是G和F,时间为9和8。现在2*4<1+9,所以用模式二:第
1步: A B → 4第2步: A ← 1第3步:
F G → 9第4步: B ← 4现在剩下A、B、C、D、E在此岸,最快和
次快的是A、B,时间为1和4;最慢和次慢的是E和D,时间为5和5。现在2*4>1+5,所以
用模式一:第5步: A E → 5第6步: A ← 1第7步:
A D → 5第8步: A ← 1现在剩下A、B、C在此岸,
用N=3的办法结束:第9步: A C → 5第10步: A ←
1第11步: A B → 4总的时间为 4+1+9+4+5+1+5+1+5+1+4 = 40分
钟虽然我一个其他的方案都没列举,我知道这个40分钟的方案必定是最佳的。
--
心事浩茫连广宇,于无声处听惊雷
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.229.154]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:8.654毫秒