题库 软件开发 题目列表 假设有N种不同的食物,每种食物热量不同,分配给K个...
问答题
假设有N种不同的食物,每种食物热量不同,分配给K个人来吃。为了方便,吃食物要求保持连续,比如123食物A来吃,45食物B来吃,6789食物C来吃。但不能跳跃分配,例如142A吃,3、5、6给B吃,并且同一食物不能分配给两个人吃。食物分配有多种方式,为了公平起见,我们希望分配给N个人之后,每个人分配的食物热量总和的最大值(我们称之为最大热量)尽量小。

我们用9种不同热量的食物和3个人来进行举例,例子如下:
123,456,789,这种分法,3份热量分别是6,15,24,最大热量是24
1234,567,89,这种分法,3份热量分别是10,18,17,最大热量是18
12345,67,89,这种分法,3份热量分别是10,13,17,最大热量是17
可以看到,这3种分配方式中,最后一种分配方式的最大热量值最小。当然我们还有其它很多种分配方式,但事实上,这一种分配方式是所有分配方式中,最大能量值最小的方案。
请设计分配方案,获得最大能量最小的情况,并输出这个最小值即可。
题目信息
校招真题
-
正确率
0
评论
10
点击