资源说明:【说某明餐】厅供应各种标准的营养套餐。假,设将菜解单答上填共入有答题纸的对应栏内。
n项食物m1,m2,…,mn食物,每项mi的营养价值为vi,价格为pi,其中i=1,2,…,n人常需要一个算法来求解总不超过,套餐中每项食物至多出现一次。客人常需要一个算法来求解总低格不超过M的营养最大的套餐。
伪代码中的主要变量说明如下:
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]。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。