代码改变世界

趣题一则:如何快速过桥?

  Anders Cui  阅读(1379)  评论(1编辑  收藏  举报

有四个人打算过桥,他们都在桥的某一端,他们的任务是在17分钟内全部到达桥的另一头。当时是晚上,他们只有一只手电筒,最多只能有两人同时过桥,因为伸手不见五指,必须要携带手电筒。必须步行将手电筒带来带去,即扔来扔去是不行的。每个人走路的速度是不同的:甲过桥需要1分钟,乙需要2分钟,丙需要5分钟,丁需要10分钟。两个人一起走的速度等于其中较慢的人的速度。例如,如果第一次让甲和丁一起过桥,当他们到桥的另一端时,已经用了10分钟,如果由丁带回手电筒,那么20分钟就过去了,于是任务失败。那他们到底该怎样过去呢?

如何完成任务?
第一次甲和乙同行,然后乙回去送手电筒,用掉4分钟;下一次丙和丁同行,甲回去,用掉11分钟;最后甲和乙再次同行,用掉2分钟。任务完成。
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示