java面试题
五海盗分宝石
-
① 1号、2号、3号都被扔鲨鱼,只有4号和5号,4号不管怎么分配,5号都会投反对票,所以4号是必被扔鲨鱼
-
② 1号和2号被扔鲨鱼,只有3、4、5在场,3号来分配:4号知道自己是必死的,就会跟着3号的投票选择,因为4、5投反对票,4号必死。所以3号怎么分配,4号都会同意,就是(100,0,0)但是,4和5是不会同意3号来分配的,所以就需要2号来分配
-
③ 1号被扔鲨鱼,留下2、3、4、5在场。2号来分配只用(98,0,1,1)这样来分配,4和5就都有利益了。
-
④ 如果是1号来分配的话,就需要收买4和5号,只用给他们每人2颗,比2号来分配的要多一个,就是(96,0,0,2,2)
-
⑤ 再优化一下,会发现3号除非是自己分配,不然一直都是0颗,可以给3号一颗,也可以不给4和5两颗。可以按(97,0,1,2,0)来分配。投票的话,2和5反对,3:2
如果他们反对1号,2号来分配就是(98,0,1,1)
3号少一颗,4号少一颗,5号多一颗。3和4肯定不会让2号来分配的。 -
⑥ 如果1号分配是(97,0,1,0,2)来分配,
如果他们反对1号, 2号来分配就是(98,0,1,1)
3号少一颗,4号多一颗,5号少一颗,2号多98颗
3号不会反对
如果轮到2或3来分配,5号只能得到0-1颗,还不如现在的2颗
所以答案是
[97,0,1,2,0]
或者
[97,0,1,0,2]