提高组2021csp-s初赛模拟题

* 您的姓名:
一,单项选择题
*1.
以下哪个选项的数值最大:
A.(5812378)10
B.(10010001010101110101)2
C.(26736703)8
D.(5A0F4A)16
*2.
138.243.123.56属于哪类地址
A.A类地址
B.B类地址
C.C类地址
D.D类地址
*3.
若树的根节点深度为0,求有n深度的完全二叉树至少有几个节点
A.2n-1
B.2n+1
C.2n
D.2n-1+1
*4.
设全集U={1,2,3,4,5,6,7,8,9},A={1,2,4,5,6},B={2,3,4,5,7,9},求集合C为下面4个选项的哪个时,A∩(B∪∁UC)={1,2,4,5}
A.{1,6}
B.{1,2,5,7,8}
C.{2,3,4,5,7,8,9}
D.{2,5,6,8,9}

*5.
某树的前序遍历为ABDHECFGJKI,中序遍历为HDBEAFJGKCI,求此树的后序遍历
A.IKJGFCEHDBA
B.HDEBJKGFICA
C.ABCDEFGHIJK
D.ICKGJFAEBDH
*6.
基数排序(LSD)下面一行数(114,978,325,968,678,223,120,457,123,243,514),第一轮排序结果为
A.114,120,123,223,243,325,457,514,678,968,978
B.120,223,123,243,114,514,325,457,978,968,678
C.114,120,123,223,243,325,457,514,678,978,968
D.114,514,325,223,120,123,243,457,968,978,678
*7.
在数据压缩编码的应用中,哈夫曼(Huffman)算法采用了()思想
A.分治
B.递推
C.贪心
D.回溯
*8.
1956年( )授予肖克利(William Shockley)、巴丁(John Bardeen)和布拉顿(Walter Brattain)
A.诺贝尔物理学奖
B.约翰•冯•诺依曼奖
C.图灵奖
D.高德纳奖
*9.
素数筛的极限时间复杂度是
A.O(n)
B.O(nloglogn)
C.O(n)
D.O(nlogn)
*10.
用数字1,2,3,4,5组成没有重复数字的五位数,其中小于50000的偶数有多少
A.24
B.36
C.46
D.60
*11.
已知元素(8,25,14,87,51,90,6,19,20),问这些元素以怎样的顺序进入栈,才能使出栈的顺序满足:8 在51 前面;90 在87 的后面;20 在14 的后面;25 在6 的前面;19 在90 的后面
A.20,6,8,51,90,25,14,19,87
B.51,6,19,20,14,8,87,90,25
C.19,20,90,7,6,25,51,14,87
D.6,25,51,8,20,19,90,87,14
*12.
在一条长度为1的线段上随机取两个点,则以这两个点为端点的线段的期望长度是( )。
A.1/2
B.1/3
C.2/3
D.3/5
*13.
下列关于Dijkstra算法的说法错误的是
A.当图中不存在负权回路但是存在负权边时,Dijkstra 算法不一定能求出源点到所有点的最短路
B.当图中不存在负权边时,调用多次Dijkstra 算法能求出每对顶点间最短路径
C.图中存在负权回路时,调用一次Dijkstra 算法也一定能求出源点到所有点的最短路
D.当图中不存在负权边时,调用一次Dijkstra 算法不能用于每对顶点间最短路计算
*14.
在C++内部,12^99+78+43+48&91的值为
A.28
B.255
C.1
D.4
*15.
2021年的植树节是星期五,求1978年的国庆节是星期几
A.星期一
B.星期日
C.星期六
D.星期三
二、阅读程序
阅读下面一段程序,回答第16至21小题
*16.
若把第13行的min改为max,不会影响程序正常运行
*17.
本题是否采用了前缀和思想
*18.
若把13行的k从1到min(n,m)对程序不会有影响
*19.
若输入:
5 6
1 1 1 0 1 0
1 1 0 1 0 1
1 1 1 1 1 1
0 1 1 1 1 1
1 0 1 1 1 1
则输出为
4
*20.
若输入2 2
然后后面2行2列的每个数50%为1,50%为0
求答案的期望
A.2
B.1
C.1516  
D.78  
*21.
本题用到的算法为
A.DP
B.贪心
C.前缀和
D.区间DP
阅读下面一段程序,完成第22至27小题
*22.
若把第三行的&a改为a,不会对程序造成影响
*23.
本题考查了对值参和形参的知识掌握
*24.
若输入:
1 2
则输出:
3
1
2
4
6
2
*25.
本题运用了dfs思想
*26.
若输入:
180 123
则输出的最大值与最小值的差为
A.57
B.1212
C.492
D.720
*27.
若输入114514 1919810
则输出不含有
A.3839620
B.229028
C.3610592
D.2034326
阅读下面程序,完成第28至33小题
*28.
本题运用了线段树思想
*29.
若把58,59两行删除,对程序无影响
*30.
若输入:
abababababccccccc
则输出为15
*31.
本题输出一定为偶数
*32.
若输入iakioiandnoiandnoipandcspjs
则输出为
A.11
B.6
C.4
D.2
*33.
本题代码时间复杂度为
A.O(n2)
B.O(n)
C.O(n log n)
D.O(nlog n)
三、完善程序
1、贰五语言
题目描述
有一种奇怪的语言叫做“贰五语言”。它的每个单词都由A~Y这25个字母各一个组成。但是,并不是任何一种排列都是一个合法的贰五语言单词。贰五语言的单词必须满足这样一个条件:把它的25个字母排成一个5*5的矩阵,它的每一行和每一列都必须是递增的。比如单词ACEPTBDHQUFJMRWGKNSXILOVY,它排成的矩阵如下所示:
A C E P T
B D H Q U
F J M R W
G K N S X
I L O V Y
因为它的每行每列都是递增的,所以它是一个合法的单词。而单词YXWVUTSRQPONMLKJIHGFEDCBA则显然不合法。 由于单词太长存储不便,需要给每一个单词编一个码。编码方法如下:从左到右,再从上到下,可以由一个矩阵的得到一个单词,再把单词按照字典顺序排序。比如,单词ABCDEFGHIJKLMNOPQRSTUVWXY的编码为1,而单词ABCDEFGHIJKLMNOPQRSUTVWXY的编码为2。
现在,你需要编一个程序,完成单词与编码间的转换。
输入格式
第一行为一个字母N或W。N表示把编码转换为单词,W表示把单词转换为编码。
若第一行为N,则第二行为一个整数,表示单词的编码。若第一行为W,则第二行为一个合法的单词。
输出格式
每行一个整数或单词。
zyz巨佬打了一个未完成的程序,请你来完善这个程序
*34.
1中填入的代码为
A.!S[pos])||(letter!=S[pos])
B.!S[pos])||(letter==S[pos])
C.S[pos])||(letter==S[pos])
D.S[pos])||(letter!=S[pos])

*35.
2中填入的代码为
A.cnt=cnt+dfs(a,b,c+1,d,e,letter+1)
B.cnt+=dfs(a,b,c+1,d,e,lteetr+1)
C.cnt-=dfs(a,b,c+1,d,e,letter+1)
D.cnt=dfs(a,b,c+1,d,e,letter+1)
*36.
3中填入的代码为
A.d<=c&&check(letter,d+16)
B.d<c&&chcek(letter,d+16)
C.d<c||check(letter,d+16)
D.d<c&&check(letter,d+16)
*37.
4中填入的代码为
A.continue
B.break
C.ans--
D.ans++
*38.
5中填入的代码为
A.s[i]+64
B.char(S[i]+65)
C.char(S[i]+64)
D.S[i]+65;
2、十字绣
题目背景
考古学家发现了一块布,布上做有针线活,叫做“十字绣”,即交替地在布的两面穿线。

题目描述
布是一个n*m的网格,线只能在网格的顶点处才能从布的一面穿到另一面。每一段线都覆盖一个单位网格的两条对角线之一,而在绣的过程中,一针中连续的两段线必须分处布的两面。给出布两面的图案(实线代表该处有线,虚线代表背面有线),问最少需要几针才能绣出来?一针是指针不离开布的一次绣花过程。


输入格式
第1行两个数N和M(1<=N,M<=200)。
接下来N行每行M个数描述正面。
再接下来N行每行M个数描述反面。
每个格子用.(表示空),/(表示从右上角连到左下角),\(表示从左上角连到右下角)和X(表示连两条对角线)表示
输出格式
一个数,最少要用的针数。
考古学家在布的下面又发现了一串代码,但是由于时间的推移,代码有几处无法辨识,于是他们请求你来完善这个代码

*39.
1中填入的代码为
A.tot
B.head[cc]
C.head[aa]
D.cc
*40.
2中填入的代码为
A.i=b[i].next
B.i--
C.i=b[i+1].next
D.i++
*41.
3中填入的代码
A.a[i+1][j],a[i][j+1]
B.a[i][j],a[i+1][j+1]
C.a[i+1][j+1],a[i][j]
D.a[i][j+1],a[i+1][j]
*42.
4中填入的代码
A.a[i+1][j],a[i][j+1]
B.a[i][j],a[i+1][j+1]
C.a[i+1][j+1],a[i][j]
D.a[i][j+1],a[i+1][j]
*43.
5中填入的代码为
A.mans/2
B.mans-1
C.mans
D.(mans-1)/2
加载中...
如果由于网络原因导致此框一直不消失,请重新刷新页面!