《NOIP2017提高组C++试题_1.docx》由会员分享,可在线阅读,更多相关《NOIP2017提高组C++试题_1.docx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、NOIP2017提高组C+试题福建福建第二十三届全国青少年信息学奥林匹克联赛初赛提高组C+语言试题竞赛时间:2017年10月14日14:3016:30选手注意:试题纸共有10页,答题纸共有2页,满分100分。请在答题纸上作答,写在试题纸上的一律无效。不得使用任何电子设备如计算器、手机、电子词典等或查阅任何书籍资料。一、单项选择题共15题,每题1.5分,共计22.5分;每题有且仅有一个正确选项1.从年开场,NOIP竞赛将不再支持Pascal语言。A.2020B.2021C.2022D.20232.在8位二进制补码中,10101011表示的数是十进制下的。A.43B.-85C.-43D.-843.
2、分辨率为1600x900、16位色的位图,存储图像信息所需的空间为。A.2812.5KBB.4218.75KBC.4320KBD.2880KB4.2017年10月1日是星期日,1949年10月1日是。A.星期三B.星期日C.星期六D.星期二5.设G是有n个结点、m条边nm的连通图,必须删去G的条边,才能使得G变成一棵树。A.mn+1B.m-nC.m+n+1D.nm+16.若某算法的计算时间表示为递推关系式:T(N)=2T(N/2)+NlogNT(1)=1则该算法的时间复杂度为。A.O(N)B.O(NlogN)C.O(Nlog2N)D.O(N2)7.表达式a*(b+c)*d的后缀形式是。A.ab
3、cd*+*B.abc+*d*C.a*bc+*dD.b+c*a*d8.由四个不同的点构成的简单无向连通图的个数是。A.32B.35C.38D.41福建福建9.将7个名额分给4个不同的班级,允许有的班级没有名额,有种不同的分配方案。A.60B.84C.96D.12010.若f0=0,f1=1,fn+1=(fn+fn-1)/2,则随着i的增大,fi将接近于。A.1/2B.2/3C.5?12D.111.设A和B是两个长为n的有序数组,如今需要将A和B合并成一个排好序的数组,请问任何以元素比拟作为基本运算的归并算法最坏情况下至少要做次比拟。A.n2B.nlognC.2nD.2n-112.在nn3枚硬币中
4、有一枚质量不合格的硬币质量过轻或质量过重,假如只要一架天平能够用来称重且称重的硬币数没有限制,下面是找出这枚不合格的硬币的算法。请把a-c三行代码补全到算法中。a.AXYb.AZc.n|A|算法Coin(A,n)1.k?n/3?2.将A中硬币分成X,Y,Z三个集合,使得|X|=|Y|=k,|Z|=n?2k3.ifW(X)W(Y)/W(X),W(Y)分别为X或Y的重量4.then_5.else_6._7.ifn2thengoto18.ifn=2then任取A中1枚硬币与拿走硬币比拟,若不等,则它不合格;若相等,则A中剩下的硬币不合格.9.ifn=1thenA中硬币不合格正确的填空顺序是。A.b,
5、c,aB.c,b,aC.c,a,bD.a,b,c13.第一行的数为a11;第二行的数从左到右依次为a21,a22;第n行的数为an1,an2,ann。从a11开场,每一行的数aij只要两条边能够分别通向下一行的两个数a(i+1)j和a(i+1)(j+1)。用动态规划算法找出一条从a11向下通到an1,an2,ann中某福建建个数的途径,使得该途径上的数之和到达最大。令Ci,j是从a11到aij的途径上的数的最大和,并且Ci,0=C0,j=0,则Ci,j=。A.maxCi-1,j-1,Ci-1,j+aijB.Ci-1,j-1+Ci-1,jC.maxCi-1,j-1,Ci-1,j+1D.maxCi
6、,j-1,Ci-1,j+aij14.小明要去南美洲旅游,一共乘坐三趟航班才能到达目的地,其中第1个航班准点的概率是0.9,第2个航班准点的概率为0.8,第3个航班准点的概率为0.9。假如存在第i个i=1,2航班晚点,第i+1个航班准点,则小明将赶不上第i+1个航班,旅行失败;除了这种情况,其他情况下旅行都能成功。请问小明此次旅行成功的概率是。A.0.5B.0.648C.0.72D.0.7415.欢乐喷球:儿童游乐场有个游戏叫“欢乐喷球,正方形场地中心能不断喷出彩色乒乓球,以场地中心为圆心还有一个圆形轨道,轨道上有一列小火车在匀速运动,火车有六节车厢。假设乒乓球等概率落到正方形场地的每个地点,包
7、括火车车厢。小朋友玩这个游戏时,只能坐在同一个火车车厢里,能够在本人的车厢里捡落在该车厢内的所有乒乓球,每个人每次游戏有三分钟时间,则一个小朋友单独玩一次游戏期望能够得到个乒乓球。假设乒乓球喷出的速度为2个/秒,每节车厢的面积是整个场地面积的1/20。A.60B.108C.18D.20二、不定项选择题共5题,每题1.5分,共计7.5分;每题有一个或多个正确选项,多项选择或少选均不得分1.下面排序算法在最坏情况下时间复杂度最优的有。A.冒泡排序B.快速排序C.归并排序D.堆排序2.对于入栈顺序为a,b,c,d,e,f,g的序列,下列不可能是合法的出栈序列。A.a,b,c,d,e,f,gB.a,d
8、,c,b,e,g,fC.a,d,b,c,g,f,eD.g,f,e,d,c,b,a福建福建3.下列算法中,是稳定的排序算法。A.快速排序B.堆排序C.希尔排序D.插入排序4.下面是面向对象的高级语言的有。A.汇编语言B.C+C.FortranD.Java5.下面和计算机领域密切相关的奖项有。A.奥斯卡奖B.图灵奖C.诺贝尔奖D.王选奖三、问题求解共2题,每题5分,共计10分1.如右图所示,共有13个格子。对任何一个格子进行一次操作,会使得它本人以及与它上下左右相邻的格子中的数字改变由1变0,或由0变1。如今要使得所有的格子中的数字都变为0,至少需要_次操作。2.如下列图所示,A到B是连通的。假设
9、删除一条细的边的代价是1,删除一条粗的边的代价是2,要让A、B不连通,最小代价是_2分,最小代价的不同方案数是_3分。只要有一条删除的边不同,就是不同的方案四、浏览程序写结果共4题,每题8分,共计32分1.#includeusingnamespacestd;intg(intm,intn,intx)intans=0;inti;if(n=1)福建福建return1;for(i=x;imn;coutusingnamespacestd;intmain()intn,i,j,x,y,nx,ny;inta4040;for(i=0;in;y=0;x=n-1;n=2*n-1;for(i=1;iusingname
10、spacestd;intn,s,a100005,t100005,i;voidmergesort(intl,intr)if(l=r)return;intmid=(l+r)/2;intp=l;inti=l;intj=mid+1;mergesort(l,mid);mergesort(mid+1,r);while(in;for(i=1;iai;mergesort(1,n);coutusingnamespacestd;intmain()intn,m;cinnm;intx=1;inty=1;intdx=1;intdy=1;intcnt=0;while(cnt!=2)cnt=0;x=x+dx;y=y+dy;
11、if(x=1|x=n)+cnt;dx=-dx;if(y=1|y=m)+cnt;dy=-dy;cout福福建输出2:_3分输入3:987321输出3:_3分五、完善程序共2题,每题14分,共计28分1.大整数除法给定两个正整数p和q,其中p不超过10100,q不超过100000,求p除以q的商和余数。第一空2分,其余3分输入:第一行是p的位数n,第二行是正整数p,第三行是正整数q。输出:两行,分别是p除以q的商和余数。#includeusingnamespacestd;intp100;intn,i,q,rest;charc;intmain()cinn;for(i=0;ic;pi=c-0;i+;i
12、f(rest福福建2.最长途径给定一个有向无环图,每条边长度为1,求图中的最长途径长度。第五空2分,其余3分输入:第一行是结点数n不超过100和边数m,接下来m行,每行两个整数a,b,表示从结点a到结点b有一条有向边。结点标号从0到(n-1)。输出:最长途径长度。提示:先进行拓扑排序,然后根据拓扑序计算最长途径。#includeusingnamespacestd;intn,m,i,j,a,b,head,tail,ans;intgraph100100;/用邻接矩阵存储图intdegree100;/记录每个结点的入度intlen100;/记录以各结点为终点的最长途径长度intqueue100;/存放拓扑排序结果intmain()cinnm;for(i=0;iab;tail=0;tail+;head=0;while(tail福建建if(degreei=0)queuetail=i;tail+;ans=0;for(i=0;ilena)ans=lena;coutansendl;return0;