2008年下半年软件设计师下午试卷[11]

软件设计师 责任编辑:tinko88 2008-12-21

添加老师微信

备考咨询

加我微信

摘要:试题四(共15分)阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】希赛公司供应各种标准的营养套餐。假设菜单上共有n项食物m1,m2,…,mn,每项食物mi的营养价值为vi,价格为pi,其中i=1,2,…,n,套餐中每项食物至多出现一次。客人常需要一个算法来求解总价格不超过M的营养价值最大的套餐。【问题1】(9分)下

试题四(共15 分)

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

【说明】

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

【问题1】(9 分)

下面是用动态规划策略求解该问题的伪代码,请填充其中的空缺(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]。

[1]  [2]  [3]  [4]  [5]  [6]  [7]  [8]  [9]  [10]  [11]  [12]  [13]  [14]  [15]  [16]  [17]  [18]  [19]  

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取

!
咨询在线老师!