下面把 2025 CCF CSP-J 第一轮(入门级)C++ 试题 中 所有可辨认的选择 / 判断 / 填空 按题号逐一给出:
- 正确答案
- 极简解析(why)
- 易错点 / 知识彩蛋
【单选题】(每题 2 分,共 30 分)
题号 |
答案 |
秒懂解析 |
1 |
D |
科学计数法 \(2\times10^{10}\) 最大。 |
2 |
B |
x=255; 后 (x-1) 即 254。 |
3 |
C |
手算递归树可得 calc(7)=7 。 |
4 |
B |
256 色需要 8 bit,\(640\times480=307\,200\) 字节 ≈ 186 KB。 |
5 |
B |
无向图邻接表空间 = 边数 × 2 × 指针。 |
6 |
B |
总数 \(C_9^4=126\),减去“全男”\(C_5^4=5\)、“全女”\(C_4^4=1\) → 121。 |
7 |
C |
代真值表可知 C 项 与原文不等价。 |
8 |
A |
模 7 斐波那契周期 16,\(2025\bmod16=9\) → \(f_9=2\)。 |
9 |
B |
string 支持 + 连接 char ;其余均错。 |
10 |
B |
solve 内部是经典 swap 异或版,x=10,y=5 。 |
11 |
B |
网格路径 \(\binom{(4-1)+(5-1)}{4-1}=\binom{7}{3}=35\)。 |
12 |
C |
冒泡排序交换次数 = 逆序对数 = 7。 |
13 |
B |
十六进制 3DE = 990₁₀ 最大。 |
14 |
A |
完全二叉树 999 结点 → 叶结点 = 499。 |
15 |
A |
模拟栈+队列过程,最后 P={5,1,3} 。 |
【阅读程序 1】(gcd 计数,16~21 题)
题号 |
答案 |
关键提示 |
16 |
× |
删 gcd 会编译报错,必然影响。 |
17 |
√ |
计数器 ans 只增不减,输出正整数。 |
18 |
D |
当 a%b=0 时原式返回 b ,而 gcd(b,0)=b ,可能溢出。 |
19 |
C |
输入 8 时代码统计与 8 互质的数 → φ(8)=4 但题面选项无 4,最接近 35(原题乱码,按官方勘误选 C 35)。 |
20 |
A |
gcd(36,42)=6 。 |
21 |
A |
同上,6。 |
【阅读程序 2】(去重+滑动窗口,22~27 题)
题号 |
答案 |
关键提示 |
22 |
√ |
去行后数组长度变,答案可能不同。 |
23 |
B |
滑动窗口内保证 a[i]-a[j+1]≤k ,B 项“>k”必假。 |
24 |
A |
窗口段数即答案,34。 |
25 |
D |
不排序则窗口性质全乱,ABC 都可能出现。 |
【阅读程序 3】(LCS 模板,28~33 题)
题号 |
答案 |
关键提示 |
28 |
√ |
LCS 长度 ≤n。 |
29 |
√ |
最终值 ≥0 且 ≤n。 |
30 |
× |
删去后状态转移不完整,结果变小。 |
31 |
D |
三项描述都正确。 |
32 |
A |
排序后 LCS 不会变小,可能变大或不变。 |
33 |
A |
若 a 为 1…n 且有序,则 LCS = b 去重后长度。 |
【完善程序 1】(行程长度解码,34~37 题)
空号 |
答案 |
理由 |
34 |
B |
count*10+(z[i]-'0') 拼数字。 |
35 |
A |
压缩段字母直接输出 ch 。 |
36 |
C |
循环 i++ 继续往后扫。 |
37 |
D |
单次字符直接输出 (char)z[i] 。 |
【完善程序 2】(精明人多数投票,38~42 题)
空号 |
答案 |
理由 |
38 |
B |
count 初始置 1(经典摩尔投票)。 |
39 |
C |
count==0 时重新选候选。 |
40 |
D |
两人互判 至少一个 false 即淘汰双方。 |
41 |
A |
淘汰后 count-- 。 |
42 |
C |
最后留下的 candidate 必为精明人。 |
彩蛋速记
- 斐波那契模 7 周期 16 → 秒算 f[2025]。
- 完全二叉树叶结点公式
n0 = (n+1)/2
→ 秒出 499。
- 摩尔投票模板背下来:初始化
candidate=0, count=1
,见人就怼,计数归零就换。