场景:毕业师兄请我们去凤雏吃饭。
流程:菜由后厨做好,然后由服务员端上饭桌,接着我们吃饭。
服务员调度算法:后厨的菜做好,由服务员选择端哪个菜上桌,这个服务员是兼洗碗的,她今天晚上还有个约会,所以她希望尽早地把碗刷完去约会,所以她的调度算法是,看哪个菜比较快吃掉,就先上哪个菜,这样我们吃完一个菜她就洗一个碗,不用拖太久下班。
我的调度算法:我不是每种菜都喜欢吃,我对菜有一个喜好排序。所以我的调度算法是,看我的喜好,1级喜好的比2级喜好的先吃掉。
菜凉了时间:一个菜从做好到吃完这段时间,都在凉,所以把这段时间叫做菜凉了时间,菜凉了时间越短,用户体验越好
菜垫:有的菜太烫了,需要垫子垫着。
菜名 |
后厨煮好的时间 |
吃掉这个菜所花时间/min |
需不需要菜垫 |
我的喜好 |
红烧肉 |
14:00 |
40 |
1 |
4 |
娃娃菜 |
14:20 |
30 |
0 |
2 |
乌鸡汤 |
14:30
|
50 |
1 |
3 |
红豆汤 |
14:50 |
20 |
0 |
5 |
糖醋鱼 |
15:00 |
10 |
1 |
1 |
假设今天饭桌上就只有一个菜垫,根据上表的信息,请算出哪一个菜第一个吃完,哪一个菜第二个......哪一个最后一个吃完?平均菜凉了时间是多少?
解:
14:00时,后厨把红烧肉做好了,服务员把红烧肉端上了桌,我开吃
14:20时,娃娃菜做好了,服务员把娃娃菜端上了桌,因为我更喜欢吃娃娃菜,所以我改吃娃娃菜,此时红烧肉还剩下20min吃完
14:30时,乌鸡汤做好了,但是由于饭桌上就一个菜垫,红烧肉在用,所以服务员没有把乌鸡汤端上桌,这时娃娃菜剩下20min吃完, 红烧肉剩下20min吃完。
14:50时,红豆汤做好了,由于红豆汤是冷的,不需要垫子,所以服务员把红豆汤上桌。
这个时候刚好娃娃菜吃完了,所以饭桌上有红烧肉和红豆汤。甜品得放最后吃,所以先吃红烧肉,此时红烧肉剩20min吃完。
15:00时,糖醋鱼也做好了,但是糖醋鱼也需要垫子,不上桌。这个时候,后厨那边还有一个乌鸡汤和一个糖醋鱼没上桌。
15:10时,红烧肉终于被我吃完了。终于腾出个垫子,累死爸爸了。这个时候,乌鸡汤和糖醋鱼就开始争着上桌了。服务员说今晚要约会,还是先上糖醋鱼吧,吃10min之后就可以洗碗了,早点下班见男神啊。糖醋鱼上了之后,乌鸡汤就不能上了,因为只有一个垫子。
我们吃完红烧肉,饭桌上有红豆汤和糖醋鱼。我是属猫的,很喜欢糖醋鱼,先吃糖醋鱼。
15:20时,糖醋鱼吃完啦,好饱啊。服务员看到有垫子了,马上就送上来了乌鸡汤。我觉得乌鸡汤也还行,就开吃了,红豆再最后喝吧。就开始喝乌鸡汤。
16:10时,这碗乌鸡汤是超级大碗的啊,喝了我50min,好饱啊,饭桌上剩个红豆汤,喝吧
16:30时,我把所有的菜都吃完了!
菜名 |
做好时间 |
吃掉需时 |
需要垫吗 |
我的喜好 |
吃完时间 |
菜凉了时间/min |
红烧肉 |
14:00 |
40 |
1 |
4 |
15:10 |
70 |
娃娃菜 |
14:20 |
30 |
0 |
2 |
14:50 |
30 |
乌鸡汤 |
14:30
|
50 |
1 |
3 |
16:10 |
100 |
红豆汤 |
14:50 |
20 |
0 |
5 |
16:30 |
100 |
糖醋鱼 |
15:00 |
10 |
1 |
1 |
15:20 |
20 |
平均菜凉了时间=(70+30+100+100+20)/5=64min |