问题 问答题

[背景材料]
某投资公司建造一幢办公楼,采用公开招标方式选择施工单位。招标文件要求:提交投标文件和投标保证金的截止时间为2008年5月30日。该投资公司于2008年3月6日发出招标公告,共有5家建筑施工单位参加了投标。第5家施工早位于2008年6月2日提交了投标保证金。开标会于2008年6月3日由该省建委主持。第4家施工单位在开标前向投资公司要求撤回投标文件和退还投标保证金。经过综合评选,最终确定第2家施工单位中标。投资公司(甲方)与中标单位(乙方)双方按规定签订了施工承包合同,合同约定开工日期为2008年8月16日。工程开工后发生了如下几项事件。
事件一:因拆迁工作拖延,甲方于2008年8月18日才向乙方提供施工场地,导致乙方 A、B两项工作延误了2d,并分别造成人工窝工6个和8个工日,但乙方C项工作未受影响。
事件二:乙方与机械设备租赁商约定,D项工作施工用的某机械应于2008年8月28日进场,但因出租方原因推迟到当月29日才进场,造成D工作延误ld和人工窝工7个工日。事件三:因甲方设计变更,乙方在E项工作施工时,导致人工增加14个工日,相关费用增加了1.5万元,并使施工时间增加2d。
事件四:在F项工作施工时,因甲方供材出现质量缺陷,乙方施工增加用工6个工日,其他费用1000元,并使H项工作时间延长1d,人工窝工24个工日。上述事件中,A、D、H三项工作均为关键工作,没有机动时间,其余工作均有足够的机动时间。
[问题]
1.第5家施工单位提交投标保证金的时间对其投标文件产生什么影响为什么

答案

参考答案:费用索赔额=[(6+8+24)×18+(14+6)×30+15000+1000]元=17284元。

问答题

【说明】
“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为w1;w2,……,wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。
如下程序均能求得“背包问题”的一组解,其中程序4.1是“背包问题”的递归解法,而程序4.2是“背包问题”的非递归解法。
【程序4.1】
#include<stdio.h>
#define N 7
#define S 15
int w[N+1]=0,1,4,3,4,5,2,7;
int knap(int s,int n)
if(s==0)return 1;
if(s<0||(s>0& &n<1))return 0;
if( (1) ))|
printf("%4d",w[n]);return 1;
return (2)

main()
if(knap(S,N))printf("OK!\n");
else printf("NO!\n");

【程序4.2】
#include<stdio.h>
#define N 7
#define S 15
typedef struct
int s;
int n:
int job;
KNAPTP;
int w[N+1]=0,1,4,3,4,5,2,7;
int knap(int s,int n);
main()
if(knap(S,N))printf("OK!\n");
else printf("NO!\n");
int knap(int s,int n)
KNAPTP stack[100],x;
int top,k,rep;
x.s=s;x.n=n;
x.job=0;
top=|;Stack[top]=x;
k=0;
while( (3) )
x=Stack[top];
rep=1;
while(!k && rep)
if(x.s==0)k=1;/*已求得一组解*/
else if(x.s<0||x.n <=0)rep=0;
elsex.s= (4) ;x.job=1;
(5) =x;


if(!k)
rep=1;
while(top>=1&&rep)
x=stack[top--];
if(x.job==1)
x.s+=W[x.n+1];
x.job=2;
Stack[++top]=x;
(6)




if(k)/*输出一组解*/
while(top>=1)
x=staCk[top--];
if(x.job==1)
printf("%d\t",w[x.n+1]);


return k;

单项选择题 A1/A2型题