刚才看到2个人轮流分蛋糕,怎么分最公平。注意是轮流分,并且每个人都想自己的蛋糕分的最多。
有人说平分不就可以了,但比如先拿蛋糕的人会给自己切最大块,这就不公平了,所以才会有此问题产生。
2个人分蛋糕的一个做法是一个人切蛋糕,另一个拿蛋糕,因为切的人后拿蛋糕,所以他就把蛋糕对半切成两块,先拿的人拿哪一块都一样。这样就均分了。
然后我考虑了下n个人分蛋糕,怎么分最公平?做法也一样,每个人都切1/n块就可以了,这样先拿蛋糕的也只能拿1/n块,这正是先切蛋糕的人希望的。
把问题考虑复杂一点,有可能切的还不均匀。比如想切1/n块但实际切多了或者少了。
这时我想到个很好的思路,保证均匀分配,做法如下:
每个人要么只切下小得不能再小的一块蛋糕,交给下一个人选择,下一个人要么拿最小那块,要么继续切,这样一直循环下去,每个人都把自己切下的蛋糕堆在一起作为一块蛋糕。一直循环切到拿的人认为最小那块蛋糕也差不多够1/n块了就拿。