首页 > 代码库 > 该谁煮饭

该谁煮饭

w

 

CSDN 论坛  http://bbs.csdn.net/wap/topics/390186917

算法-轮流煮饭的问题。

  生活中遇到一个该谁煮饭的问题,我和同学争论了不休:
   四个人一起煮晚饭。每个人煮一天,然后煮起来大家一起吃。意思就是一个人可以只煮一次,然后吃四天的饭。突然有一天我因为有事早上离开了,而且离开了几天。然后后我回来了,因为离开那天的前一天是我煮的饭。但是我回来的时候正好也轮到我煮饭了。我就不想煮,而是想让他们轮一圈,我再煮饭。而其中一个同学(如果我不煮就该他煮)不同意,他认为要按顺序来,轮到谁了就该谁。
   现在撇开一些为人处世的道理或者吃亏就是福的哲学思想。我想弄清楚到底哪种方法才能够让事情最公平。同学觉得这是一个无解的问题。我自己想了一下,我解决的思路如下:
   循环插队问题:
有n个人轮流煮饭,每天只煮一次饭。每个人每天都要吃饭,轮到自己煮饭的时候就必须煮饭,其他时候只负责吃饭。突然有一天其中一人离开,离开的日期和离开的天数都是随机的。但这个人肯定要回来,设计思路,该如何安排回来的那个人在哪一天煮饭最公平。

 

该谁煮饭