早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

阅读下列说明,回答问题1至问题3,将解答填入对应栏内。【说明】 某餐厅供应各种标准的营养套餐。假设

题目

阅读下列说明,回答问题1至问题3,将解答填入对应栏内。

【说明】

某餐厅供应各种标准的营养套餐。假设菜单上共有n项食物m1,m2,…,mn,每项食物mi的营养价值为vi,价格为pi其中i=1,2,…,n,套餐中每项食物至多出现一次。客人常需要一个算法来求解总价格不超过M的营养价值最大的套餐。

1. 【问题1】

下面是用动态规划策略求解该问题的伪代码,请填充其中的空缺(1)、(2)和(3)处。

伪代码中的主要变量说明如下。

n:总的食物项数;

v:营养价值数组,下标从1到n,对应第1到第n项食物的营养价值;

p:价格数组,下标从1到n,对应第1到第n项食物的价格;

M:总价格标准,即套餐的价格不超过M;

x:解向量(数组),下标从1到n,其元素值为0或1,其中元素值为0表示对应的食物不出现在套餐中,元素值为1表示对应的食物出现在套餐中;

nv:n+1行M+1列的二维数组,其中行和列的下标均从0开始,nv[i][j]表示由前i项食物组合且价格不超过j的套餐的最大营养价值。问题最终要求的套餐的最大营养价值为nv[n][M]。

伪代码如下:

MaxNutrientValue(n,v,p,M,x)

1 for i=0 to n

2 nv[i][0] = 0

3 for j=1 to M

4 nv[0][j]=0

5 for i=1 to n

6 for j=1 to M

7 if j<p[i] //若食物mi不能加入到套餐中

8 nv[i][j] = nv[i-1][j]

9 else if (1)

10 nv[i][j]= nv[i-1][j]

11 else

12 nv[i][j]= nv[i-1][j-p[i]] + v[i]

13 j = M

14 for i=n downto 1

15 if (2)

16 x[i] = 0

17 else

18 x[i] = 1

19 (3)

20 return x and nv[n][M]

(1)nv[i-1][j]≥nv[i-1][j-p[i]]+v[i] (2)nv[i][j]=nv[i-1][j] (3)j=j-p[i]

参考答案
正确答案:(1)nv[i-1][j]nv[i-1][j-p[i]]+v[i] (2)nv[i][j]=nv[i-1][j] (3)j=j-p[i]
(1)nv[i-1][j]nv[i-1][j-p[i]]+v[i] (2)nv[i][j]=nv[i-1][j] (3)j=j-p[i]
看了阅读下列说明,回答问题1至问题...的网友还看了以下:

一种手机有两种收费套餐:A套餐月租费22元每分钟0.2元.B套餐无月租每分钟0.4元1.妈妈每月通 数学 2020-04-26 …

阅读下列说明,回答问题1至问题3,将解答填入对应栏内。【说明】 某餐厅供应各种标准的营养套餐。假设 计算机类考试 2020-05-26 …

某餐厅推出两种套餐,4人套餐80元,6人套餐100元.为吸引顾客,实行团购(超过6桌)八折优惠.一 数学 2020-06-04 …

作业多得很,做哪个比较好啊?二选一套餐一:自编一本“杂志”栏目参考:A.主题美文推荐;B.我的假日 语文 2020-06-26 …

(2014•海淀区二模)为了满足广大手机用户的需求,某移动通信公司推出了三种套餐,资费标准如下表: 数学 2020-07-05 …

如表是两种手机套餐的计费方式:套餐月费/元套餐主叫限定时间/分钟主叫超出套餐收费(元/分钟)被叫套 其他 2020-07-19 …

移动4G商旅套餐58元2014套餐外流量:超出套餐后先按照0.29元/MB计费,当费用达到6移动4 其他 2020-07-21 …

同学们都爱吃肯德基套餐吗?肯德基儿童套餐15元B套餐的价格是儿童套餐的5/6六分之五1B套餐是多少钱 其他 2020-11-02 …

小红一家共七人去公园游玩,到了中午爸爸给小红70元购买午饭,今有10元套餐和8元套餐两种,已知至少有 数学 2020-11-14 …

中午餐厅给每人供应一份套餐和一杯饮品,菜单如下:套餐:鸡肉套餐、牛肉套餐、蔬菜套餐、排骨套餐饮品:橙 数学 2020-11-28 …