2025年青少年软件编程(C_C++)等级考试(八级)模拟卷(十八).docxVIP

2025年青少年软件编程(C_C++)等级考试(八级)模拟卷(十八).docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

2025年青少年软件编程(C/C++)等级考试(八级)模拟卷(十八)

一、选择题(每题3分,共36分)

1.关于图的连通性,以下说法错误的是:

A.无向图的极大连通子图称为连通分量

B.有向图中任意两个顶点间都存在双向路径的图称为强连通图

C.删除割点后图的连通分量数一定增加

D.边双连通分量中一定不含割边

2.使用Tarjan算法求强连通分量时,关于Low值的描述正确的是:

A.Low[u]表示u能到达的最早被访问的顶点的时间戳

B.Low[u]初始值为u的发现时间

C.Low[u]在回溯时会被更新

D.以上都正确

3.关于模运算的性质,以下哪个等式不成立:

A.(a+b)%m=[(a%m)+(b%m)]%m

B.(a-b)%m=[(a%m)-(b%m)]%m

C.(a*b)%m=[(a%m)*(b%m)]%m

D.(a/b)%m=[(a%m)/(b%m)]%m

4.扩展欧几里得算法可以求解:

A.线性同余方程

B.矩阵乘法

C.图的连通分量

D.容斥原理

5.当m为质数时,a在模m下的逆元可以通过以下哪个公式计算:

A.a^(m-1)modm

B.a^(m-2)modm

C.a^mmodm

D.a^(m+1)modm

6.关于矩阵快速幂,以下说法正确的是:

A.只能用于方阵

B.时间复杂度为O(n^3logk)

C.可以用于求解斐波那契数列

D.以上都正确

7.高斯消元法的主要步骤不包括:

A.将矩阵化为上三角矩阵

B.使用初等行变换

C.计算矩阵的行列式

D.回代求解

8.关于容斥原理,以下说法错误的是:

A.用于计算多个集合的并集大小

B.公式中包含交替的加减项

C.只能用于三个集合的情况

D.可以解决计数问题中的重复计算

9.以下哪种情况适合使用缩点技术:

A.求有向图的最长路径

B.判断图的连通性

C.计算矩阵的秩

D.求解线性方程组

10.关于割点和割边,以下说法正确的是:

A.一个图至少有一个割点

B.割边的两端顶点都是割点

C.树的所有边都是割边

D.完全图没有割点

11.使用Kosaraju算法求强连通分量时,第一步是:

A.对原图进行深度优先搜索

B.对逆图进行深度优先搜索

C.对原图进行广度优先搜索

D.对逆图进行广度优先搜索

12.关于点双连通分量,以下说法正确的是:

A.任意两点间至少存在两条点不相交的路径

B.任意两点间至少存在两条边不相交的路径

C.一定不包含割点

D.可以通过删除割点得到

二、填空题(每题4分,共24分)

13.在Tarjan算法中,判断顶点u是否为割点的条件是:存在u的子节点v,使得________。

14.扩展欧几里得算法的递归终止条件是当________时,返回gcd为a,x=1,y=0。

15.使用费马小定理求逆元时,要求模数m必须是________。

16.矩阵快速幂算法的时间复杂度是________。

17.容斥原理公式中,k个集合的交集前的符号是________。

18.在无向图中,边双连通分量可以通过删除________后得到。

三、阅读程序题(每题15分,共30分)

19.阅读以下程序,回答问题:

#include

#include

#include

usingnamespacestd;

constintMAXN=100;

vectorG[MAXN];

intdfn[MAXN],low[MAXN],idx;

stackst;

boolinStack[MAXN];

intscc_cnt;

voidtarjan(intu){

dfn[u]=low[u]=++idx;

st.push(u);

inStack[u]=true;

for(intv:G[u]){

if(!dfn[v]){

tarjan(v);

low[u]=min(low[u],low[v]);

}elseif(inStack[v]){

low[u]=min(low[u],dfn[v]);

}

}

if(dfn[u]==low[u]){

scc_cnt++;

while(true){

intv=st.top();

文档评论(0)

马立92 + 关注
实名认证
文档贡献者

助理研究员持证人

该用户很懒,什么也没介绍

领域认证该用户于2025年09月02日上传了助理研究员

1亿VIP精品文档

相关文档