<>它主要是用到c语言中的函数递归的思想</P>
<>转:</P>
<>如果只剩下4,5俩个海盗.那么不论4号如何分配,5号都可以说不同意,那么4号的下场是死,5号的结果是获得金币.</P>
<P>因此如果还剩下3,4,5三个海盗.那么不论3号如何分配,4号只能同意,因为保命要紧(他们都是理智的),这样3号可以</P>
<P>提出的分配原则是(100,0,0).不论5号是否同意,3,4号都会赞成.最终少数服从多数.结果便是3号得100金币,4,5号没</P>
<P>有金币.</P>
<P>如果还剩下2,3,4,5四个海盗,2号可以提出的分配原则是(98,0,1,1),这样3号肯定不同意.但是4,5号却会同意,因为与</P>
<P>前面的方案相比,4号和5号都能获得一个金币,这总比没有金币强.因此4,5号也一定会同意.这样一来.结果便是2号得</P>
<P>98个金币,3号没有金币,4号和5号一人一个金币.</P>
<P>如果是1,2,3,4,5五个海盗,1号可以提出得分配原则是(97,0,1,0,2)或者是(97,0,1,2,0)</P>
<P>这样2号肯定不同意,3号不得不同意,因为3号不同意,那么等到下一轮他就没有金币了.</P>
<P>至于4号和5号嘛,只要给其中一个人两个金币,那么他(4或者5)便得到了比前一个方案</P>
<P>更多的甜头.那么他们中的一个必然同意,而另一个必然反对.最后是三个人同意,两个人</P>
<P>反对.使得此方案通过.因此最终的分配方法是(97,0,1,2,0)或者是(97,0,1,0,2)</P>
<P>总结:</P>
<P>这个题目看起来好像谁先提出方案,谁就会最危险,其实不然.因为这些海盗都是理智的.</P> |