问题一,一个典型过桥问题:
小明一家5口人在夜晚过一座桥,小明过桥要1分钟,小明的弟弟过桥要3分钟,小明的爸爸过桥要6分钟,小明的妈妈过桥要8分钟,小明的爷爷过桥要12分钟;这座桥每次只能过2个人,因是夜晚,过桥时必须提着灯,小明有一只灯,点燃后30分钟会熄灭,问怎么样安排,才能保证小明一家在灯熄灭前过桥。
答案:
小明和弟弟过去,小明回来,4分钟
妈妈和爷爷过去,弟弟回来,15分钟
爸爸和小明过去,小明回来,7分钟
小明和弟弟过桥,3分钟
合计4+15+7+3=29分钟
问题二:如果有n个人过桥,一次只能过2个人,过桥必须提着灯,并且只有一只灯(这里不会熄灭);求过桥所要的最少时间是?
现在我们把2(n>2)个人过桥的过程称为“过桥”,1个人提灯回来叫做“送灯”。
为了使整个过程耗时最少,那么就要尽量做到两点。一是送灯是1个人完成。那么这个人一定要最快。
二是过桥是2个人,因为是取两者耗时最多的,那么另一个人被吃掉的时间要尽量大。
如果两点能同时做到,那这样得到的耗时很有可能(未经证明不敢说一定)是最小的。
当n=1、2时,只有一次过桥,耗时为一固定值。
当n=3时,记3人分别为,
,
。这里耗时
<=
<=
,
最佳方案为 操作 状态 耗时

过桥
---- 
送灯 
----

过桥 ---- 

总耗时
+
+
当n=4时,记4人耗时分别为,
,
,
。这里耗时
<=
<=
<=
,
第一种方案,送灯要最快方案为 操作 状态 耗时

过桥 
---- 
送灯 

----

过桥
---- 

送灯 
---- 

过桥 ---- 


总耗时 2
+
+
+
第二种,要吃掉时间最长方案为 操作 状态 耗时

过桥 
---- 
送灯 

----

过桥
---- 

送灯 
---- 

过桥 ---- 


总耗时
+3
+
两种方案耗时差为(2+
+
+
)-(
+3
+
)=
+
-2
, 所以当
+
>2
时方案二更优,当
+

这篇博客探讨了两种典型的过桥问题,包括一个五口之家在有限时间内过桥的策略和一个更抽象的问题,涉及n个人过桥。通过优化过桥和送灯的策略,确保耗时最短。对于五口之家的问题,给出了29分钟的详细解决方案,而对于n个人的情况,提出了关键的优化原则,即送灯者应最快,过桥组合应最大化耗时差异。
最低0.47元/天 解锁文章
6452

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



