下面把 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,见人就怼,计数归零就换。