https://scg3.piaoztsdy.cn/p/182
参考答案:
CAB CCA DDA BBC BAD
TFF DCD FTT AAD TTT BBC
BDDAC CDBAB
原题没有解析,以下解析由 DeepSeek V4 Pro 基于参考答案生成。
一、基础知识
1. C
- LAN(局域网)、MAN(城域网)、WAN(广域网)均为常见网络分类。
- NAN 不属于此标准分类,故选 C。
2. A
- C++ 源代码常见后缀:
.cpp、.cc、.cxx、.c++等。 .c通常为 C 语言源文件后缀(虽大多数编译器兼容,但规范上不属于 C++ 专属后缀)。
3. B
- 信息学竞赛(CCF 系列)自 2021 年起指定使用 C++14 标准,2022 年延续此版本。
4. C
表达式:15 & 26 + ~8 << 2(无符号 8 位运算)
- 运算符优先级:
~>+><<>& ~8按位取反(在 8 位下为11110111₂ = 247)26 + 247 = 273,8 位截断为273 % 256 = 1717 << 2 = 68(0b01000100)15 & 68 = 0b00001111 & 0b01000100 = 0b00000100 = 4
选 C。
5. C
已知:
枚举所有 8 种真值组合,满足两式的为 和 ,其中 true 的个数均为 2。
6. A
- 边权和 = ,总度数为 。
- 要边权和最小,应让最小点权 尽可能承担更多度数,其余 个点作为叶子。
- 则 的度数为 ,其余点度数为 ,总和为 。
7. D
- 个结点的有向图,无重边无自环,允许两结点间有双向边。
- 共有 条可能的有向边,均可存在。选 D。
8. D
- 个结点的无标号二叉树形态数即 卡特兰数 。
- 。
9. A
- 根为 ,其左子树:(左 ,右 );右子树:(左 ,右 )。
- 中序遍历:左 → 根 → 右 → 。
10-12. 块状链表操作复杂度
- 10. B:查询需先通过顺序表定位到组(可 ),再在组内链表遍历,组长约 ,故约访问 个元素。
- 11. B:插入定位同查询,需要访问约 个元素找到位置,插入本身为 。
- 12. C:每组冒泡排序共 ;选择排序需要 次选择,每次从 个串首比较,也是 ,总复杂度 。
13. B
memset定义在头文件<cstring>(或 C 风格<string.h>)中。
14. A
f(25) = 25 * f(12)
f(12) = 12 * f(6)
f(6) = 6 * f(3)
f(3) = 3 * f(1) = 3
回溯:,,。
15. D
- 二分写法有误:当
l与r相邻时m = (l+r)>>1恒等于l,若x > m则l = m死循环。 x=7时会死循环导致超时;x=1,3,5均可正常退出。
二、阅读程序
(六)蜘蛛算经
程序将输入的数字串按“乘 加下一位”处理,相当于将输入视为八进制数(但数字可以是 ),转为十进制输出。
- 16. T:
x <<= 3等价于x *= 8(正数且不溢出时)。 - 17. F:输入
"01"和"1"输出相同,并非一定不同。 - 18. F:输入最多 个数字,最大值为 个 的结果 ,未超出
int范围(约 )。 - 19. D:
A."000",输出0。
B."778"。
C."123"。
D."111",正确。 - 20. C:
"777"。 - 21. D: 个 的结果为 亿,最接近 亿。
(七)左手螺旋
模拟在 01 矩阵中按“左手扶墙”规则行走,超过 步未停则输出 -1。
- 22. F:循环条件为
ans <= 10*n*m,跳出时ans = 10*n*m + 1。 - 23. T:将条件改为
==0后可走,在边界外可能持续走出数组导致越界。 - 24. T:矩阵全 时,起点一定为 ,直接
report(0)。 - 25. A:手推几步会发现路径进入死循环,最终超过步数上限输出
-1。 - 26. A:全 矩阵中,起点 。若方向为
U,前方和左方均为界外(),第一步即停下输出1;其他方向均可前进。 - 27. D:循环最多执行至
ans = 10nm+1, 最大 ,故约 次。
(八)幸福之约
用 DFS 枚举连续质数的幂次,求不超过 range 且约数个数最大的数。
- 28. T:删去第 行后
prime(1)返回true,但set_pr从 开始循环,不影响质数表。 - 29. T:
range=1,DFS 无法乘任何质数,最大约数个数mv保持为1。 - 30. T:改用
int可能导致cur溢出变为负数,递归无法按预期终止,造成超时等。 - 31. B:DFS 从
cur=1开始,且必须从小到大连续取质数、每个至少取一次,故在 间可能值为 (共 个)。 不含因子 或因缺少中间质数而无法产生。 - 32. B:取指数均为 的路径 ,进入
dep=10时乘 溢出返回,故dep最大值为 。 - 33. C:输入 时经典最大约数个数为 (对应 ),程序能正确求出。
三、补全程序
(九)方格计数
高精度乘法 ,采用压位存储(每位存 进制)。
- 34. B:数字最大长度 ,故数组大小需 ,
1<<10足够且优化空间。a,b长度 选1<<10。 - 35. D:
c数组存乘积结果,长度为两数长度之和,1<<11足够容纳约 位。 - 36. D:压位进制 选 可简化
+= c[i]/Z和%=Z的进位处理,且c[i]单个数字最大 ,无溢出风险。 - 37. A:竖式乘法中,
a[i] * b[j]累加至c[i+j]。 - 38. C:进位处理时,
c[i]/Z进位到下一位c[i+1]。
(十)晚餐时间
只猪在数轴上按规则移动,每步同时朝猪少的一侧移动,两端猪跳下。程序利用间距 dis 优化模拟。
- 39. C:
dis[i]为第 只与第 只的距离,即a[i+1] - a[i]。 - 40. D:当前仍在桥上的猪的数量
cnt = r - l + 1。 - 41. B:若
cnt <= 1,只剩一只猪无法下桥,移动停止。 - 42. A:中间猪的索引
mid = (l + r) >> 1(向下取整)。 - 43. B:当桥上有偶数只猪时,中间两只同时向中间移动会消耗两倍距离,
move需翻倍,即dis[mid] += move << 1。
暂无评论