类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
关于海盗分宝石问题,哪位高人可以给出一段实际求解的程序?
正题:
500个海盗抢到了100颗宝石,每一颗都一样的大小和价值连城.
他们决定这么分:
1. 抽签决定自己的号码(1.2.3.4.5)
2. 首先,由1号提出分配方案,然后由包括1的所有人进行表决,当50%或更多的海盗同意时,按照他的方案进行分配,否则将被扔入大海喂鲨鱼.
3. 如果1号死后,再由2号提出分配方案,然后剩下所有人(1已经葬身鱼腹了)进行表决,当50%或更多的海盗同意时,按照他的提案进行分配,否则将被扔入大海喂鲨鱼.
4.以次类推
条件:
每个海盗都是很聪明的人,都能很理智的判断得失,从而作出选择.
问题:
最后的分配结果如何?
提示:
海盗的判断原则:
1.保命
2.尽量多得宝石
3.尽量多杀人
请组出最后的结果,宝石应该如何分配?
这是原题,注意第二个条件:
当50%或更多的海盗同意时,按照他的方案进行分配
如果把该条件改为:
当超过半数的人同意时,按照他的方案分配
又该如何求解呢?
因为修改条件后有可能出现多种分配方案,所以缩小范围,把5,6,7,8,9,10 这五个海盗的方案演算出来即可
本人纯属兴趣使然,但求诸位高人能给小弟一点启发
网友回答:
以前听说过这个,大概要用递归来解决吧
这是智力测验题,非编程题。。。。。。
到算法和数据结构版搜索去吧
以前在算法版里见过,
你可以到算法版里搜索一下。
http://search.csdn.net/Expert/topic/1670/1670178.xml?temp=.2997248