📜  拼图 |三贼过河

📅  最后修改于: 2022-05-13 01:57:25.926000             🧑  作者: Mango

拼图 |三贼过河

三贼需要过河。每个小偷都有一定数量的被盗金币放在他的包里。
小偷A有1000金币
小偷B有700金币
小偷C有300金币

过河有一条船,一次最多可以携带两个物体,这意味着最多两个小偷可以过河,或者一个带袋子的小偷可以过河。问题是,在过河的过程中,如果小偷留下的硬币比他自己多,那么他就会逃跑。同样的规则适用于两个小偷,如果他们剩下的金币总数超过他们累积的金币,那么他们将带着这些钱逃跑。
什么策略可以确保他们都正确过河?解决方案:他们都将按照以下方式过河。

  1. 小偷 B 带着他的 700 个硬币袋首先穿过。他会把包放在那里,然后回来。
  2. 小偷 A 现在将带着装有 300 个硬币的袋子过河。他会保留袋子并返回。
  3. 现在小偷 B 和 C 过河,小偷 C 将带着他的 300 个硬币袋回来。
  4. 现在小偷 A 带着他的 1000 个硬币袋子去了另一边,小偷 B 将带着他的 700 个硬币袋子回来。
  5. 现在小偷B和C一起过河,小偷A空手而归。小偷A拿着300个硬币的袋子过河,然后小偷B被派去收集他的700个硬币袋。

所以,最后他们都正确地过河了。

参考资料: https://www.youtube.com/watch?v=hKX4RmVKlb4