该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
一、单项选择题(共15题,每题2分)
1.(原 1)一个 32 位无符号整数可以表示的最大值,最接近下列哪个选项?
{{ select(1) }}
- 4 × 10⁹
- 3 × 10¹⁰
- 2 × 10⁹
- 2 × 10¹⁰
2.(原 2)在 C++ 中,执行 int x = 255; cout << (x & (x - 1)); 后,输出的结果是?
{{ select(2) }}
- 255
- 254
- 128
- 0
3.(原 3)如下函数,calc(5) 的返回值是多少?
int calc(int n){
if(n<=1) return 1;
if(n%2==0) return calc(n/2)+1;
else return calc(n-1)+calc(n-2);
}
{{ select(3) }}
- 5
- 6
- 7
- 8
4.(原 4)用权值 10,12,15,20,25 构造哈夫曼树,WPL 为?
{{ select(4) }}
- 176
- 186
- 196
- 206
5.(原 5)有向图中,所有顶点入度之和=出度之和=?
{{ select(5) }}
- 顶点数
- 边数
- 顶点数 + 边数
- 顶点数 × 2
6.(原 6)5男4女选4人且男女都有,方法数?
{{ select(6) }}
- 126
- 121
- 120
- 100
7.(原 7)与 (a&&b)||(!c&&a) 不恒等的是?
{{ select(7) }}
a&&(b||!c)(a||!c)&&(b||!c)&&(a||a)a&&(!b||c)!(!a||!b)||(a&&!c)
8.(原 8)f[0]=1,f[1]=1,f[n]=(f[n-1]+f[n-2])%7,求 f[2025] ?
{{ select(8) }}
- 2
- 4
- 5
- 6
9.(原 9)关于 C++ string 正确的是?
{{ select(9) }}
- 创建后长度不可变
- 可用
+直接连接string与char length()与size()可能不同- 必以
'\0'结尾且计入length()
10.(原 10)调用 solve(x,y) 后 x,y 分别是?
void solve(int& a,int b){ a=a+b; b=a-b; a=a-b; }
int main(){ int x=5,y=10; solve(x,y); }
{{ select(10) }}
- 5,10
- 10,5
- 10,10
- 5,5
11.(原 11)8×8 棋盘 (1,1)→(4,5) 只能右/下的路径数?
{{ select(11) }}
- 20
- 35
- 56
- 70
12.(原 12)冒泡排序 {6,1,5,2,4} 升序的交换次数?
{{ select(12) }}
- 5
- 6
- 7
- 8
13.(原 13)720₁₀ + 270₈ 的十六进制表示?
{{ select(13) }}
- 388₁₆
- 3DE₁₆
- 288₁₆
- 990₁₆
14.(原 14)含 1000 结点的完全二叉树叶子数?
{{ select(14) }}
- 499
- 512
- 500
- 501
15.(原 15)栈队列过程结束后队列 P 内容为?
{{ select(15) }}
- 5,1,3
- 7,5,3
- 3,1,5
- 5,1,3,7
二、阅读程序(共40分)
(1) 代码段一(互质三元组计数)
判断题(对/错):
16.(原 16)输入为 2 时,第 16 行判断不会执行。
{{ select(16) }}
- 对
- 错
17.(原 17)删去条件 && gcd(i,k)==1 不影响结果。
{{ select(17) }}
- 对
- 错
18.(原 18)当 n≥3 时,程序总输出正整数。
{{ select(18) }}
- 对
- 错
单选:
19.(原 19)把 gcd(b,a%b) 改成 gcd(a,a%b) 可能的问题是?
{{ select(19) }}
- 输出大于原答案
- 输出小于原答案
- 可能死循环
- 整型溢出
20.(原 20)当输入为 8 时,输出为?
{{ select(20) }}
- 37
- 42
- 35
- 25
21.(原 21)gcd(36,42) 返回?
{{ select(21) }}
- 6
- 252
- 3
- 2
(2) 代码段二(分组最少数)
判断题:
22.(原 22)输入 3 1 3 2 1 时输出为 2。
{{ select(22) }}
- 对
- 错
23.(原 23)若 n 为正,答案一定在 [1,n]。
{{ select(23) }}
- 对
- 错
24.(原 24)删去第14行 unique 可能导致输出不同。
{{ select(24) }}
- 对
- 错
单选:
25.(原 25)执行第18行时一定成立的不包括**?**
{{ select(25) }}
j<=ia[i]-a[j]>kj<=na[j]<a[i]
26.(原 26)n=100,k=2,a={1..100} 时输出为?
{{ select(26) }}
- 34
- 100
- 50
- 33
27.(原 27)若误删第13行 sort(a 可能无序),程序可能出现的问题?
{{ select(27) }}
- 答案比原来更大
- 答案比原来更小
- 出现死循环
- 以上均可能
(3) 代码段三(LCS)
判断题:
28.(原 28)输入 4 1 2 3 4 1 3 2 2 时输出为 2。
{{ select(28) }}
- 对
- 错
29.(原 29)运行完毕后,∀i,j:f[i][j] <= f[n][n]。
{{ select(29) }}
- 对
- 错
30.(原 30)删去第18行不影响结果。
{{ select(30) }}
- 对
- 错
单选:
31.(原 31)输出满足:
{{ select(31) }}
<= n>= 0- 不一定
>= 1 - 以上皆是
32.(原 32)若先对 a、b 均排序,答案会?
{{ select(32) }}
- 变大或不变
- 变小或不变
- 一定变大
- 不变
33.(原 33)若 a={1,2,...,n} 且 b 元素均在 1..n,等价为:
{{ select(33) }}
- 求
b去重长度 - 求
b的 LIS - 求
b的长度 - 求
b的最大值
三、完善程序(共30分)
(1) 字符串解码(33–37)
(原 33)① 处应填?
{{ select(34) }}
i < z.length()i - 1 >= 0i + 1 < z.length()isdigit(z[i])
(原 34)② 处应填?
{{ select(35) }}
count + (z[i]-'0')count * 10 + (z[i]-'0')z[i]-'0'count + 1
(原 35)③ 处应填?
{{ select(36) }}
count - 1count10z[i] - '0'
(原 36)④ 处应填?
{{ select(37) }}
z[i+1]chz.back()(char)z[i] + 1
(原 37)⑤ 处应填?
{{ select(38) }}
i--i = i + 2i++- 不操作
(2) 精明与糊涂(38–42)
(原 38)① 处应填?
{{ select(39) }}
01N-1
(原 39)② 处应填?
{{ select(40) }}
count < 0count == 1count == 0query(candidate, i) == false
(原 40)③ 处应填?
{{ select(41) }}
query(candidate, i) == falsequery(i, candidate) == truequery(candidate, i) == false && query(i, candidate) == falsequery(candidate, i) == false || query(i, candidate) == false
(原 41)④ 处应填?
{{ select(42) }}
count--breakcount++candidate = i
(原 42)⑤ 处应填?
{{ select(43) }}
N - 1countcandidate0
京公网安备11010802045784号