问题 填空题

阅读下列说明和C代码,将应填入 (n) 处的字句。

[说明]

设某一机器由n个部件组成,每一个部件都可以从m个不同的供应商处购得。供应商j供应的部件i具有重量wij和价格cij。设计一个算法,求解总价格不超过上限cc的最小重量的机器组成。

采用回溯法来求解该问题:

首先定义解空间。解空间由长度为n的向量组成,其中每个分量取值来自集合1,2,…,m),将解空间用树形结构表示。

接着从根结点开始,以深度优先的方式搜索整个解空间。从根结点开始,根结点成为活结点,同时也成为当前的扩展结点。向纵深方向考虑第一个部件从第一个供应商处购买,得到一个新结点。判断当前的机器价格(c11)是否超过上限(cc),重量(w11)是否比当前已知的解(最小重量)大,若是,应回溯至最近的一个活结点;若否,则该新结点成为活结点,同时也成为当前的扩展结点,根结点不再是扩展结点。继续向纵深方向考虑第二个部件从第一个供应商处购买,得到一个新结点。同样判断当前的机器价格(c11+c21)是否超过上限(cc),重量(w11+w21)是否比当前已知的解(最小重量)大。若是,应回溯至最近的一个活结点;若否,则该新结点成为活结点,同时也成为当前的扩展结点,原来的结点不再是扩展结点。以这种方式递归地在解空间中搜索,直到找到所要求的解或者解空间中已无活结点为止。

[C代码]

下面是该算法的C语言实现。

(1)变量说明

n:机器的部件数

m:供应商数

cc:价格上限

w[][]:二维数组,w[i][j]表示第j个供应商供应的第i个部件的重量

c[][]:二维数组,c[i]D]表示第j个供应商供应的第i个部件的价格

bestW:满足价格上限约束条件的最小机器重量

bestC:最小重量机器的价格

bestX[]:最优解,一维数组,bestX[i]表示第i个部件来自哪个供应商

cw:搜索过程中机器的重量

cp:搜索过程中机器的价格

x[]:搜索过程中产生的解,x[i]表示第i个部件来自哪个供应商

i:当前考虑的部件,从0到n-1

j:循环变量

(2)函数backtrack

int n=3;

int m=3;

int cc=4;

int w[3][3]=1,2,3,3,2,1,2,2,2;

int c[3][3]=1,2,3,3,2,1,2,2,2;

int bestW=8;

int bestC=0;

int bestX[3]=0,0,0;

int cw=0;

int cp=0;

int x[3]=0,0,0;

int backtrack (int i)

int j=0;

int found=0;

if(i>n-1) /*得到问题解*/

bestW=cw;

bestC=cp;

for(j=0; j<n; j++)

(1) ;

return 1;

if (cp<=cc)(/*有解*/

found=1;

for(j=0; (2) ; j++)

/*第i个部件从第j个供应商购买*/

(3) ;

cw=cw+w[i] [j];

cp=cp+c[i] [j];

if (cp<=cc&& (4) )/*深度搜索,扩展当前结点*/

if (backtrack(i+1)) found -1; )

/*回溯*/

cw=cw - w[i] [j];

(5) ;

return found;

(4)处应填()。

答案

参考答案:cw<bestW

阅读理解与欣赏

阅读下面文章,完成小题。(18分)

向一棵树鞠躬

王崇亚

①我突然被一棵榆树惊呆了。说突然,是因为我在这条小巷的尽头住了十年,天天从它跟前走过,竟没有注意到它的存在。那天早晨,我无意识地朝路边的砖垛上扫了一眼,一下子就看到了这棵树。

这是一棵不同寻常的树。

③它长在一堆码起来的砖垛上。周围是林林总总的大树小树。砖垛有两米多高,我不知道它在那里堆了多少年,表层的砖被一层青苔覆盖着。砖们不规则地排列在一起,好像训练累了的老兵,歪歪斜斜地站在那里,勉强保持着一种队形。

④它其实只有一米来高。稀稀疏疏的枝杈恣意地伸展着,形不成高大伟岸的姿态,却展示了固执顽强的生命。它站在高高的砖垛上作俯视状,鸟瞰着这个喧闹的世界。它小心地经营着自己。它当然喜欢玉树临风般的躯体,哪怕是小家碧玉的亭亭玉立也可以呀!但命运却把它交付给一堆砖。当初,它选择了砖垛前面的那一片阳光地带,准备唱着歌儿向老榆树告别。可是就在瞬间,一阵微微的风,把它飘到砖垛上,它的命运因此而改变。它知道:躲避现实只能毁灭自己,安于命运,顺势而长,才是生命的根本。它只能压抑着蓬勃向上的内驱力,让饱满的激情化作一段朴实——它长成了灌木丛。

⑤即便如此,它也肯定受过不少的苦痛。雷电轰击过它,狂风摧残过它,风雪侵蚀过它。最难耐的还是干旱和贫瘠。它有时想拦住匆匆而过的雨水,雨水却不屑一顾;也曾经挽留过晶莹的露珠,露珠只轻轻吻了它一下,就再也寻觅不着。脚下那座高原似的砖垛,却贫瘠得难以供应它起码的养料。它只得打自己的主意。让主干变粗变矮,让枝叶变小变多,尽量节衣缩食,减少消耗。尽可能挽留住雨露,拼命把根往下扎,这是它生存的策略。厄运使得它青筋突暴,浑身疤痂,身体佝偻,它没有屈服。无论生活怎样艰难,总得面对,总得应付,总得一步一步走过。我久久地站在那里,为一棵榆树而感动。

⑥一天傍晚,我下班回来,发现那砖垛已经不见了。一个老人默默地站在那棵树旁。老人告诉我,这垛砖堆了十八年。当初准备盖房子用,儿子突然得病死了。媳妇改嫁,他领着孙子孙女度日,房子就耽搁了。现在孙子孙女已长大成人,会挣钱了,政府又补贴了一部分钱,房子终于可以翻修了。在老人平静的叙述中,丝毫不见其悲凉,仿佛生活就是如此。

⑦我怔在那里。十八年,我不知老人是如何艰辛度过的。老人走了,他边走边自言自语道:“你看这棵树,咋就恁耐活呢?缺水少土的,竞活了十八年,真要活成精了!”蓦地,我仿佛觉得眼前的这棵榆树,就是老人的翻版。蓬蓬松松的枝叶,是老人稀疏的乱发;褶褶皱皱的树干,是老人饱经风霜的脸;还有那地下柔柔细细的根,是老人冉冉飘飞的胡须。

⑧望着老人步履艰辛地走了,走在那条弯弯曲曲的小路上。于是,那条被晚霞映红了的小巷,行走着一个永恒的雕塑。眼泪模糊了我的双眼。我默默地伫立,向老人、向那棵榆树深深地鞠了一躬。                              

(选自《朝着太阳奔去》)

小题1: 选文思路清晰,概括起来说是由    写到      ;构思精美,主要运用了               的表现手法。(3分)

小题2:第②段划线句中“不同寻常”表现在哪些方面?请根据文意简要回答。(3分)

小题3: 下列句子形象生动,富有表现力,请加以赏析。(4分)

(1)它有时想拦住匆匆而过的雨水,雨水却不屑一顾;也曾经挽留过晶莹的露珠,露珠只轻轻吻了它一下,就再也寻觅不着。

(2)于是,那条被晚霞映红了的小巷,行走着一个永恒的雕塑。

小题4:第⑦段划线句写出了老人与树的许多外在的相同之处,他们之间还有哪些隐性的相同之处呢?试写出两条。(4分)

小题5:“躲避现实只能毁灭自己,安于命运,顺势而长,才是生命的根本。”对这种观点,你是否认同?请简述理由。(4分)

单项选择题