排队找零问题有10个人排队购一件价为5元的商品其中一半人拿一张10元人民币另一半人拿一张5元的人民币要使售货员在售货中不发生找钱困难问这10个人应该如何排队?找出所有排队方案假设售货员一开始就没有准备零钱。用算法解决
这个问题可以用贪心算法来解决。首先假设前5个人都只拿5元的人民币,后5个人都只拿10元的人民币,这样售货员只需要找5元的零钱。然而,如果前5个人中有一些人拿了10元的人民币,售货员就需要找10元的零钱,这时候可以考虑让前面的人先拿5元的人民币,后面的人再拿10元的人民币,这样可以保证售货员不会遇到找钱困难。
以下是所有的排队方案:
- 5 5 5 5 5 10 10 10 10 10
- 5 5 5 5 10 5 10 10 10 10
- 5 5 5 5 10 10 5 10 10 10
- 5 5 5 5 10 10 10 5 10 10
- 5 5 5 5 10 10 10 10 5 10
- 5 5 5 5 10 10 10 10 10 5
- 5 5 5 10 5 5 10 10 10 10
- 5 5 5 10 5 10 5 10 10 10
- 5 5 5 10 5 10 10 5 10 10
- 5 5 5 10 5 10 10 10 5 10
- 5 5 5 10 5 10 10 10 10 5
- 5 5 5 10 10 5 5 10 10 10
- 5 5 5 10 10 5 10 5 10 10
- 5 5 5 10 10 5 10 10 5 10
- 5 5 5 10 10 5 10 10 10 5
- 5 5 5 10 10 10 5 5 10 10
- 5 5 5 10 10 10 5 10 5 10
- 5 5 5 10 10 10 5 10 10 5
- 5 5 5 10 10 10 10 5 5 10
- 5 5 5 10 10 10 10 5 10 5
- 5 5 5 10 10 10 10 10 5 5
其中最后一种方案是前5个人都拿了10元的人民币,后5个人都拿了5元的人民币,这样售货员也只需要找5元的零钱
原文地址: https://www.cveoy.top/t/topic/fDoR 著作权归作者所有。请勿转载和采集!