提高组C++语言试题
竞赛时间:2018年10月13日14:30~16:30
选手注意:
•试题纸共有10页,答题纸共有2页,满分100分。请在答题纸上作答,写在试题纸上的一律无效。
•不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。
一、单项选择题(共10题,每题2分,共计20分;每题有且仅有一个正确选项)
1.下列四个不同进制的数中,与其他三项数值上不相等的是( )。
A.(269)16 B.(617)10
C.(1151)8 D.(1001101011)2
2.下列属于解释执行的程序设计语言是( )。
A.C B.C++P
C.Pascal D.Python
3.中国计算机学会于( )年创办全国青少年计算机程序设计竞赛。
A.1983 B.1984
C.1985 D.1986
4.设根节点深度为0,一棵深度为h的满k(k>1)叉树,即除最后一层无任何子节点外,每一层上的所有结点都有k个子结点的树,共有( )个结点。
A.(kh+1-1) /(k-1) B.kh-1
C.kh D.(kh-1) /(k-1)
5.设某算法的时间复杂度函数的递推方程是T(n)=T(n-1)+n(n为正整数)及T(0)=1,则该算法的时间复杂度为( )。
A.O(log n) B.O(n log n)
C.O(n) D.O(n2)
6.表达式a∗d-b∗c的前缀形式是( )。
A.a d∗b c∗-
B.-∗a d∗b c
C.a∗d-b∗c
D.-∗∗a d b c
7.在一条长度为1的线段上随机取两个点,则以这两个点为端点的线段的期望长度是( )。
A.1/2 B.1/3
C.2/3 D.3/5
8.关于Catalan数Cn=(2n)!/(n+1)!/n!,下列说法中错误的是( )。
A.Cn表示有n+1个结点的不同形态的二叉树的个数。
B.Cn表示含n对括号的合法括号序列的个数。
C.Cn表示长度为n的入栈序列对应的合法出栈序列个数。
D.Cn表示通过连接顶点而将n+2边的凸多边形分成三角形的方法个数。
9.假设一台抽奖机中有红、蓝两色的球,任意时刻按下抽奖按钮,都会等概率获得红球或蓝球之一。有足够多的人每人都用这台抽奖机抽奖,假如他们的策略均为:抽中蓝球则继续抽球,抽中红球则停止。最后每个人都把自己获得的所有球放到一个大箱子里,最终大箱子里的红球与蓝球的比例接近于( )。
A.1∶2 B.2∶1
C.1∶3 D.1∶1
10.为了统计一个非负整数的二进制形式中1的个数,代码如下:
则空格内要填入的语句是( )。
A.x>>=1 B.x&=x-1
C.x|=x>>1 D.x<<=1
二、不定项选择题(共5题,每题2分,共计10分;每题有一个或多个正确选项,多选或少选均不得分)
1.在NOIP初赛中,选手可以带入考场的有( )。
A.笔 B.橡皮 C.手机(关机) D.草稿纸
2.2-3树是一种特殊的树,它满足两个条件:
(1)每个内部结点有两个或三个子结点;
(2)所有的叶结点到根的路径长度相同。
如果一棵2-3树有10个叶结点,那么它可能有( )个非叶结点。
A.5 B.6 C.7 D.8
3.下列关于最短路算法的说法正确的有( )。
A.当图中不存在负权回路但是存在负权边时,Dijkstra算法不一定能求出源点到所有点的最短路
B.当图中不存在负权边时,调用多次Dijkstra算法能求出每对顶点间最短路径(www.xing528.com)
C.图中存在负权回路时,调用一次Dijkstra算法也一定能求出源点到所有点的最短路
D.当图中不存在负权边时,调用一次Dijkstra算法不能用于每对顶点间最短路计算
4.下列说法中,是树的性质的有( )。
A.无环
B.任意两个结点之间有且只有一条简单路径
C.有且只有一个简单环
D.边的数目恰是顶点数目减1
5.下列关于图灵奖的说法中,正确的有( )。
B.目前获得该奖项的华人学者只有姚期智教授一人
C.其名称取自计算机科学的先驱、英国科学家艾伦·麦席森·图灵
D.它是计算机界最负盛名、最崇高的一个奖项,有“计算机界的诺贝尔奖”之称
三、问题求解(共2题,每题5分,共计10分)
1.甲乙丙丁四人在考虑周末要不要外出郊游。
已知①如果周末下雨,并且乙不去,则甲一定不去;②如果乙去,则丁一定去;③如果丙去,则丁一定不去;④如果丁不去,而且甲不去,则丙一定不去。如果周末丙去了,则甲____________(去了/没去) (1分),乙____________(去了/没去) (1分),丁____________(去了/没去)(1分),周末____________(下雨/没下雨)(2分)。
2.方程a∗b=(a or b)∗(a and b),在a,b都取[0,31]中的整数时,共有____________组解。(∗表示乘法;or表示按位或运算;and表示按位与运算)
四、阅读程序写结果(共4题,每题8分,共计32分)
输入:15
输出:____________
输入:10 7 1 4 3 2 5 9 8 0 6
输出:____________
输入:abacaba
输出:____________
输入1:6 10 1 6 4 5 3 2
输出1:____________(3分)
输入2:6 200 1 5 3 4 2 6
输出2:____________(5分)
五、完善程序(共2题,每题14分,共计28分)
1.对于一个1到n的排列P(即1到n中每一个数在P中出现了恰好一次),令qi为第i个位置之后第一个比Pi值更大的位置,如果不存在这样的位置,则qi=n+1。举例来说,如果n=5且P为1 5 4 2 3,则q为2 6 6 5 6。
下列程序读入了排列P,使用双向链表求解了答案。试补全程序。(第二空2分,其余3分)
数据范围1≤n≤105。
2.一只小猪要买N件物品(N不超过1 000)。
它要买的所有物品在两家商店里都有卖。第i件物品在第一家商店的价格是a[i],在第二家商店的价格是b[i],两个价格都不小于0且不超过10 000。如果在第一家商店买的物品的总额不少于50 000,那么在第一家店买的物品都可以打95折(价格变为原来的0.95倍)。
求小猪买齐所有物品所需最少的总额。
输入:第一行一个数N。接下来N行,每行两个数。第i行的两个数分别代表a[i],b[i]。
输出:输出一行一个数,表示最少需要的总额,保留两位小数。
试补全程序。(第一空2分,其余3分)
一、单项选择题(共10题,每题2分,共计20分)
二、不定项选择题(共5题,每题2分,共计10分;每题有一个或多个正确选项,没有部分分)
三、问题求解(共2题,每题5分,共计10分)
1.去了 没去 没去 没下雨(第4空2分,其余1分)
2.454
四、阅读程序写结果(共4题,每题8分,共计32分)
1.4
2.6
3.16
4.输出1:2 1 3 5 6 4(3分)
输出2:3 2 5 6 1 4(5分)
五、完善程序(共计28分,以下各程序填空可能还有一些等价的写法,由各省赛区组织本省专家审定及上机验证,可以不上报CCF NOI科学委员会复核)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。