2023 CSP-J 第一轮(入门级)参考答案与逐题解析(42 题全)
题目原文见本站真题篇《2023 CSP-J 第一轮(入门级)真题完整版(42 题)》。答案经程序实测验证,以 CCF 官方公布为准。
答案速查表
| 题号 | 正确答案 | 分值 |
|---|---|---|
| 1 | B | 2 |
| 2 | D | 2 |
| 3 | A | 2 |
| 4 | A | 2 |
| 5 | C | 2 |
| 6 | B | 2 |
| 7 | C | 2 |
| 8 | A | 2 |
| 9 | D | 2 |
| 10 | A | 2 |
| 11 | A | 2 |
| 12 | B | 2 |
| 13 | B | 2 |
| 14 | A | 2 |
| 15 | D | 2 |
| 16 | A | 2 |
| 17 | A | 2 |
| 18 | A | 2 |
| 19 | A | 3 |
| 20 | B | 3 |
| 21 | A | 1.5 |
| 22 | B | 1.5 |
| 23 | A | 1.5 |
| 24 | D | 3 |
| 25 | D | 3 |
| 26 | D | 3 |
| 27 | A | 1.5 |
| 28 | A | 1.5 |
| 29 | A | 1.5 |
| 30 | B | 4 |
| 31 | D | 3 |
| 32 | C | 3 |
| 33 | B | 3 |
| 34 | A | 3 |
| 35 | C | 3 |
| 36 | A | 3 |
| 37 | D | 3 |
| 38 | A | 3 |
| 39 | B | 3 |
| 40 | A | 3 |
| 41 | B | 3 |
| 42 | C | 3 |
分段小结:单选 1–15 偏重语法与基础算法;阅读程序 16–32 考查几何/字符串/数论代码的阅读;完善程序 33–42 考查二分与动态规划补全。其中第 24 题网传答案有误(正确为 D),第 25、26 题题干易混,已标注说明。
逐题解析
一、单项选择题(1–15)
【B】const 声明常量,值不可修改;unsigned 仅无符号,static/ mutable 均不保证不可变。
【D】八进制竖式相加:12345670(8)+07654321(8)=22222211(8)(注意逐位进位)。
【A】联合体实例用
.访问成员:data.value = 3.14;指针才用 ->。【A】头插法:先存 newNode->data=42、newNode->next=head,再 head=newNode;顺序颠倒会丢链。
【C】满三叉树高 h 容量 (3^h−1)/2;h=7 仅 1093<2023,h=8 为 3280≥2023,故至少 8 层。
【B】选 k 个且间隔≥3 的方案为 C(9−2k, k):k=1→7,k=2→10,k=3→1,共 18。
【C】高精度乘法时间与两数位数都有关(乘数位×被乘数位),并非只取决于较长者。
【A】后缀先算 6−(2+3)=1、3+8⁄2=7,相乘得 7,再 ^2 得 49,+3=52;对应先乘后平方的 A。
【D】101010(2)=42,166(8)=118,和=160=A0(16);C 的 158 是干扰项。
【A】哈夫曼编码中最高频 45% 的 f 应取最短码;仅 A 给 f=“0”单字符,最低频 a 取 4 位。
【A】由前/中序:左子树后序 D,E,B;右子树 F,G,C;合并得 DEBFGCA。
【B】拓扑须 1 在 2、3 前,2、3 在 4 前;1,2,3,4 满足(C 把 4 放在 3 前违反 3→4)。
【B】bit(比特)是最小存储单位,小于 byte/word/kilobyte。
【A】总 C(22,3)=1540,减去全男 C(10,3)=120,得至少 1 女 1420 种。
【D】HTML 是超文本标记语言,不是操作系统。
二、阅读程序(16–32)
【A】输入 2 2 2:s=3,面积 sqrt(3)=1.7321,输出“1.7321”正确(√)。
【A】乘法交换律 (s−b)(s−c)=(s−c)(s−b),结果不变(√)。
【A】fixed+precision(4) 固定输出 4 位小数(√)。
【A】3 4 5 直角三角形面积 6,输出“6.0000”。
【B】5 12 13 面积 30,输出“30.0000”。
【A】f 求最长公共子序列长度,必 ≤ min(m,n)(√)。
【B】f 求的是子序列(LCS)非子串(substring),子串需连续,故此说法错误(×)。
【A】两串完全相同,f(x+x,x)=x.size(),g 返回 true(√)。
【D】改为 v[n][m]:当 m>n 时列索引越界、m<n 时行索引越界,运行可能非正常退出。⚠️ 网传答案有误,正确为 D(可能非正常退出),务必避坑。
【D】“p-jcs”是“csp-j”+“csp-j”的子序列,LCS=5=y.size(),g 返回 true,输出“1”。⚠️ 题干网传版本易混,注意 x 含连字符。
【D】“spsccp”是“csppsc”+“csppsc”的子序列,LCS=6=y.size(),g 返回 true,输出“1”。⚠️ 与 25 题题干相近,注意区分两对字符串。
【A】solve2 遍历到 √n,对每个因子 i 与 n/i 累加平方和,正是所有因子平方和(√)。
【A】当 n/i==i(平方因子)时只加一次,避免 i 与 n/i 相同被算两次(√)。
【A】质数 p 因子仅 1、p:sum=1+p²=n²+1(√)。
【B】n=p² 因子为 1、p、p²:sum=1+p²+p⁴=n²+n+1。
【D】第一项 σ₂(n²),第二项 (σ₂(n))²;n>1 时前者<后者(如 n=2:21<25),n=1 时相等,故差值≤0 且不一定小于 0。
【C】n=5:solve2(25)=1+25+625=651,solve1(26)=676,输出“651 676”。
三、完善程序(33–42)
【B】连续时 nums[mid]=nums[0]+mid,故 ①处填 nums[0]。
【A】②处 if 成立说明左半连续,缺失在右半,left=mid+1。
【C】③处 else 缺失在左半(含 mid),right=mid。
【A】循环结束 left==right,缺失值=nums[0]+left(该处本应比实际值大 1)。
【D】若全程连续无缺失,find_missing 返回 nums[0]+n-1,恰等于末元素 nums[n-1],此时输出 Sequence is consecutive。
【A】i==0(str1 空)需插入 j 个字符,dp[0][j]=j。
【B】j==0(str2 空)需删除 i 个字符,dp[i][0]=i。
【A】当前字符相同时无代价,条件为 str1[i-1]==str2[j-1]。
【B】字符相同:dp[i][j]=dp[i-1][j-1](不额外加 1)。
【C】字符不同时取替换分支 dp[i-1][j-1] 参与 min。
试卷特点小结
2023 卷整体偏基础但细节多:单选覆盖 const/union/链表、进制与哈夫曼等;阅读程序三题分别为海伦公式、最长公共子序列(旋转串判定)、因子平方和;完善程序为二分查缺失与编辑距离 DP。需特别注意第 24 题官方答案应为 D,第 25、26 题两对字符串题干相近易错。
来源说明
题目与答案整理自网络流传的 CCF CSP-J1 真题版本,经多来源交叉核对与程序实测验证。第 24 题网传答案有误(正确答案为 D:可能非正常退出),第 25、26 题题干网传版本易混淆,已在上文标注。最终请以 CCF 官方公布为准。本站提供该年分三卷(R1A / R1B / R1C)的 Hydro 客观题包,可在 OJ 导入练习、自动判分。



