编程揭秘:如何用代码算出 N 匹小马过河的最短时间?
```python # 读取输入 n = int(input()) times = list(map(int, input().split())) # 对小马过河时间进行排序 times.sort() total_time = 0 while len(times) > 3: # 方案一:最快和次快送最慢和次慢 plan1 = times[1] + times[0] + times[-1] + times[1] # 方案二:最快分别送最慢和次慢 plan2 = times[-1] + times[0] + times[-2] + times[0] # 选择用时少的方案 total_time += min(plan1, plan2) # 去掉已经过河的最慢和次慢的小马 times = times[:-2] if len(times) == 3: total_time += times[0] + times[1] + times[2] elif len(times) == 2: total_time += times[1] else: total_time += times[0] print(total_time) ``` ######[AI问答 | 243点数解答 | 2026-02-07 20:30:57]
相关提问
- Python代码实现:绘制洁白无瑕水晶玫瑰,附示例代码与注意事项(字节豆包 | 447点数解答 | 2025-11-02 14:37:54)72
- 易语言读取文本文件并显示到超级列表框:代码示例与注意要点(DeepSeek | 571点数解答 | 2025-08-23 20:54:40)231
- 易语言:读取并显示特定文本到超级列表框,还能增加新数据的方法与要点(DeepSeek | 1317点数解答 | 2025-08-23 20:58:40)235
- Python 编程:开启无限可能的编程之旅!(阿里通义 | 19点数解答 | 2023-12-07 16:15:34)337
- C++实现单门课程成绩管理系统:教师学生双身份操作全解析(GPT | 6361点数解答 | 2024-05-24 02:01:02)549
- 边长为3、4、5的三角形面积求解:用海伦公式算出结果为6! (字节豆包 | 155点数解答 | 2024-10-15 16:41:01)399
- C++实现含权限保护的二级文件系统:从设计到代码全解析 (阿里通义 | 1602点数解答 | 2024-10-28 14:42:23)276
- C语言实现:通过指针传递二维数组查找3名同学5门课的最高分及位置(字节豆包 | 393点数解答 | 2024-12-13 23:14:35)376
- C++ 实现:统计给定范围 [I, R] 内数字 7 出现的次数(DeepSeek | 437点数解答 | 2025-06-20 16:58:16)231
- 用 C++ 输出爱心图案表达对 C++ 学习的热爱(字节豆包 | 345点数解答 | 2026-04-04 21:20:06)8
- C++实现二进制转八进制及旋律类型判断(字节豆包 | 629点数解答 | 2026-03-21 19:50:41)20
- 大学生日常花销记账App开发:测试部署与后端开发工作全揭秘(百度文心 | 612点数解答 | 2024-05-15 18:59:38)352