2021年初赛C++语言模拟试题01

竞赛时间:2021年08月18日

选手注意:

●  满分100分,请在答题纸上作答,写在试题纸上的一律无效。

●  不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(15题,每题2分,共计30分;每题有且仅有一个正确选项)

1.以下关于CSP-J/S的描述错误的是()

A.参加CSP-S/J两组两轮认证均须在网上注册报名。未注册者,无认证成绩

B.CSP-J/S是中国计算机学会举办的程序设计竞赛

C.CSP-JS第二轮实行网上注册、报名,未通过网上报名的认证者可向所在省份特派员申请获得第二轮参加认证的资格

D.CSP-J/S认证成绩优异者,可参加NOI省级选拔,省级选拔成绩优异者可参加NOI

2.在8位二进制补码中,10110110表示的是十进制下的()

A.202     B.74      C.-202    D.-74

3. 2019年10月14日是星期一,1978年10月14日是()

A. 星期日          B.星期五          C.星期一       D.星期六

4. 图G是一棵n节点的树,G上有()条边

A.n           B.2*n            C.n-1         D.n+1

5. 由五个不同的节点构成的树有()种

A. 3125    B. 125   C.32   D.1024

6. 有一个长为6的A序列:{3,20,4,6,1},现通过进行交换其中相邻两个数字的操作进行排序,要将A序列排成从小到大的递增序列最少要进行多少次交换操作()

A.5        B.6            C.7            D.15

7.某算法计算时间表示为递推关系式:  T(N)=N+T(N/2) ,则该算法时间复杂度为( )。

A.O(N*N)      B.O(NlogN)       C.O(N)    D.O(1)

8.一棵6节点二叉树的中序遍历为DBAGECF,先序遍历为ABDCEGF,后序遍历为()

A.  DGBEFAC                         B.  GBEACFD                   C.  DBGEFCA           D. ABCDEFG

9.一张有9个节点的无向图最多有()条边

A.40          B.81          C.72      D.36

10.下列不属于面向对象程序设计语言的是( )

A.C++         B. C          C.JAVA    D.C#

11.G是一张有n个点m条边的连通图,必须删去()条边才能将其变成一棵n节点的树

A.1       B.m-n-1       C.m+n-1       D.m-n+1

12.字符串”abcab”本质不同的子串个数(),不包含空串

A.15

B.14

C.13

D.12

13. 十进制小数13.375对应的二进制数是():

A.1101.011    B.1011.011    C.1101.101   D.1010.01

14.若某算法的计算时间表示为递推关系:

则该算法的复杂度为()

A.    B.      C.     D.​​​​​​​

15. 一家三口人,恰好仅有两个人生日在同一天的概率是()   【假设每年都是365天】

A.1/365          B.365/(364*365)               C.(3*364)/(365*365)             D.1/12

二、阅读程序写结果(18,最后2题每题4分,其余题目2分,共40分;每题有且仅有一个正确选项)

第一题

#include<iostream>
using namespace std;
int a,b,c;
int main()
{cin>>a>>b>>c;int t=b;b=a,a=t;c=a;cout<<a<<" "<<b<<" "<<c;
}

16. 若输入3 9 1,则输出9 3 3

A.正确

B.错误

17. 若输入12300400000 3 7,将一定能输出3 12300400000 3

A.正确

B.错误

18. 该程序中,头文件#include<iostream>可以改成#include<cstdio>

A. 正确

B. 错误

19. 若输入3 6 9,输出()

A. 6 3 6

B. 9 3 3

C. 6 9 3

D. 6 3 3

20. 若将c=a改成c=t,则若输入3 6 9,输出()

A. 6 3 6

B. 9 3 3

C. 6 9 3

D. 6 3 3

21. 若将c=a改成c=b,则若输入3 6 9,输出()

A. 6 3 6

B. 6 3 9

C. 6 3 3

D. 3 6 3

第二题

#include <iostream>#include <algorithm>#include <stdio.h>using namespace std;int w[35000],d[35000],dp[35000];int main(){int n,m;scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)scanf("%d%d",&w[i],&d[i]);for(int i=1;i<=n;i++){for(int j=m;j>=w[i];j--){dp[j]=max(dp[j],dp[j-w[i]]+d[i]);}}printf("%d\n",dp[m]);return 0;}

22. 上述代码中,双重循环里循环变量j的枚举顺序改为从w[i]到m,输出结果一定不变

A.正确

B.错误

23. 上述代码中,双重循环中变量i的枚举顺序改为从n到1,输出结果一定不变

A.正确

B.错误

24. 当输入为:

      4 6
      1 4
      2 6
      3 12
      2 7

输出为()

A.17

B.28

C.29

D.23

25.若输入数据中,1<=n<=30000,1<=m<=30000,1<=w[i]<=30000,1<=d[i]<=30000,则所求答案一定没有溢出()

A. 正确

B. 错误

26.若输入数据中,1<=n<=30000,1<=m<=30000,1<=w[i]<=30000,1<=d[i]<=1000000000,则所求答案一定没有溢出()

A. 正确

B.错误

27.上述代码的时间复杂度为()

A. O(n)

B. O(n*n*m)

C. O(n*m)

D. O(n*m*m)

第三题

#include<iostream>
#include<cstring>
#include<cstdio>
#define N 500+10
using namespace std;
int a[N],n;
int main()
{cin>>n;for(int i=1;i<=n;i++)cin>>a[i];for(int i=1;i<n;i++){int tmp=i;for(int j=i+1;j<=n;j++)if(a[j]<a[tmp])tmp=j;swap(a[i],a[tmp]);}for(int i=1;i<=n;i++)cout<<a[i]<<" ";cout<<endl;return 0;
}

28. 上述代码实现了对一个长度为n的序列进行排序()

A. 正确

B. 错误

29. 我们将上述算法称为()

A. KMP

B. 冒泡排序

C. 选择排序

D. 归并排序

30.上述代码的时间复杂度为()

A. O(n)  B. O(nlogn)  C. O(n*n)   D. O(n*n*n)

31. 若输入数据为:

5

3 2 1 5 4

则if(a[j]<a[tmp])这句话中的条件会成立多少次(即后面的tmp=j会被执行多少次)  ()

A. 5    B. 7    C.3   D.4

32. 去掉头文件#include<cstdio>后程序仍能正常编译运行()

A. 正确

B. 错误

33. 去掉using namespace std;后程序仍能正常编译运行()

A. 正确

B. 错误

​​​​​​​五、完善程序(每题15分,共计30)

1. 请完善下面的程序,使用BFS统计一张边权都为1的图中,从给定起点到所有点的距离:

#include<algorithm>#include<cstdio>#include<vector>#define N 200020using namespace std;int n,m;vector<int>G[N];int q[N],hd,tl;int dis[N];void BFS(___(1)_____){hd=1,tl=0;for(int i=1;i<=n;i++)dis[i]=-1;q[++tl]=st,dis[st]=0;while(____(2)_____){int u=q[hd++];for(int i=0;i<G[u].size();i++){int v=G[u][i];if(____(3)____)continue;dis[v]=dis[u]+1;q[++tl]=v;}}}int main(){scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){int x,y;scanf("%d%d",&x,&y);G[x].push_back(y);______(4)________;}int st;scanf("%d",&st);BFS(st);for(_____(5)_____)printf("%d ",dis[i]);}

34.上述程序___(1)___中应该填写()

A.int u;

B.int st;

C.int &st;

D.int st

35.上述程序___(2)___中应该填写()

A.hd<tl

B.hd>tl

C.hd<=tl

D.hd>=tl

36.上述程序___(3)___中应该填写()

A.vis[v]==true

B.dis[v]<=dis[u]

C.dis[v]!=-1

D.dis[v]>dis[u]

37. 上述程序___(4)___中应该填写()

A.G[y].push_back(x)

B.G[y].insert(x)

C.G[y][x]=1

D.G[y].push(x)

38. 上述程序___5___中应该填写()

A. int j=1;j<=n;j++

B. int i=1;i<=n;i++

C. int i=0;i<n;i++

D. int i=1,i<=n,i++

2.(拓扑排序)给出一张n节点m条边的有向图,求出该图的一个拓扑排序,若无拓扑排序输出-1

输入:

第一行两个正整数 n,m 表示点数和边数。
接下来 m 行,每行三个正整数 x,y表示节点 x->y之间有一条边。

输出:

一个拓扑序:按拓扑序输出点的编号。若拓扑序不唯一,输出任意一个均可。若无拓扑序,输出 -1.

#include<algorithm>
#include<cstdio>
#include<vector>
#define N 200020
using namespace std;
int n,m;
vector<int>G[N];
int q[N],hd,tl;
int du[N];
int ans[N],tot;
void topo()
{hd=1,tl=0;for(int i=1;i<=n;i++)if(___(1)____)q[++tl]=i;while(hd<=tl){int u=q[hd++];ans[++tot]=u;for(int i=0;____(2)____;i++){int v=G[u][i];du[v]--;if(!du[v])____(3)____;}}if(tot!=n)puts("-1");else{for(int i=1;i<=n;i++)printf("%d ",ans[i]);}
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){int x,y;scanf("%d%d",&x,&y);_____(4)___________;_____(5)___________;}topo();
}

39. 上述程序___1___中应该填写()

A. du[i]

B. q[i]

C. hd<=tl

D. !du[i]

40. 上述程序___2___中应该填写()

A. i<=n

B. i<n

C. i<G[u].size()

D. i<=G[u].size()

41. 上述程序___3___中应该填写()

A. q[++tl]=v

B. q[tl++]=v

C. q[++hd]=v

D. q[hd++]=v

42. 上述程序___4___中应该填写()

A. G[y].push_back(x)

B.G[x].push_back(y)

C.G[x].push(y)

D.G[y].push(x)

43. 上述程序___5___中应该填写()

A.G[y].push_back(x)

B.G[y].push(x)

C.du[y]++

D.du[x]++

----------本试卷共43题,您已完成作答,请家长对照答案阅卷并在群里上传考试分数,谢谢!------

2021年初赛模拟卷1相关推荐

  1. 信息学竞赛初中初赛模拟卷-有答案

    二:问题求解 (每题 5 分,共 10 分) 1. 重新排列 10 个不相同的数,使各自都不在自己原来的位置上,则共有几种排 列: 2.(1) 2^100 % 19= (2) 3^30 % 10000 ...

  2. 天勤计算机书籍pdf,考研计算机卷5•2021天勤计算机考研408八套模拟卷.pdf

    2021 天勤计算机考研408 八套模拟卷 (卷五) 1 2021 天勤计算机考研408 八套模拟卷 • 卷五 数据结构篇 一.选择题 在 个结点的线性表的数组实现中,算法的时间复杂度是 ()的操作是 ...

  3. 洛谷2020、2021、2022 CSP-J1 CSP-S1 第1轮 初赛模拟

    1033 - CSP 2020 第一轮(初赛)模拟 试题 - CSP 2020 第一轮(初赛)模拟 - 洛谷有题 [LGR-(-11)]CSP 2020 第一轮(初赛)模拟 - 比赛详情 - 洛谷 U ...

  4. 提高组CSP-S初赛模拟试题整理

    目录 提高组 CSP−SCSP-SCSP−S 第 666 套初赛模拟试题整理 提高组 CSP−SCSP-SCSP−S 第 777 套初赛模拟试题整理 提高组 CSP−SCSP-SCSP−S 第 888 ...

  5. CSP-J CSP-S 初赛模拟题

    2019 CSP-J/S第一轮各省分数线统计与分析(含浙江省) 家长帮 CSP-J/S2019第二轮入门级一等各省评级分数线 CSP-J/S2019第二轮入门级一等各省评级分数线_自主选拔在线 CSP ...

  6. 天勤计算机网络题目pdf百度云,天勤408真题与8套模拟卷PDF打印版

    408真题 天勤408真题2012选择题答案讲解.pdf 天勤408真题2012.pdf 天勤408真题2013选择题答案讲解.pdf 天勤408真题2013.pdf 天勤408真题2014选择题答案 ...

  7. 本科-人工智能模拟卷

    人工智能模拟卷 一.选择题 1 . 1997 年 5 月,著名的"人机大战",最终计算机以 3.5 比 2.5 的总比分将世界国际象棋棋王卡斯帕罗夫击败,这台计算机被称为(  A  ...

  8. 华东师范计算机入门平时作业,计算机入门模拟卷A-华东师范大学.doc

    文档介绍: --------------------------校验:_____________-----------------------日期:_____________计算机入门模拟卷A-华东师 ...

  9. 华师大计算机入门模拟卷,计算机入门模拟卷A-华东师范大学.docx

    计算机入门模拟卷 A- 华东师范大学 华东师范大学成人高等教育(网络教育) <计算机入门>模拟卷(A 卷) 考试形式:闭卷考试时间: 90 分钟 学习中心:_________ 姓名:___ ...

最新文章

  1. Linux Wi-Fi 编程API介绍
  2. mysql 如何修改wait_timeout,interactive_timeout ,和 session ,global 有什么关系
  3. 【POJ1321棋盘问题】【poj2251Dungeon Master】【poj3278Catch That Cow】【poj1426Find The Multi】
  4. ntp时间同步服务器配置
  5. python写sql语句_python3将变量写入SQL语句的实现方式
  6. 一文看尽2019年NLP前沿突破
  7. php图片异步上传,怎么在php中使用JavaScript实现图片异步上传功能
  8. 人脸识别 java_利用Java调用OpenCV进行人脸识别
  9. 去掉韩版 lg 锁屏双时钟 删除预装软件 适用安卓10
  10. < 渗透测试学习指南 > python编写ARP投毒工具
  11. 熊猫压缩怎么使用_您应该可以使用熊猫库做的几件事
  12. 【verilog】b站-[Verilog HDL] Installing and Testing Icarus Verilog + GTKWave 笔记
  13. ListView实现倒计时功能
  14. 社群运营岗位部门团队KPI绩效sop工作流程计划方案
  15. java连连看项目汇报_java连连看小项目 - osc_x4wlt5vu的个人空间 - OSCHINA - 中文开源技术交流社区...
  16. 标签无效 /zabbix_export/date: YYYY-MM-DDThh:mm:ssZ 预计。
  17. java153-字符输出流
  18. python爬取有道翻译
  19. Java中数组怎么初始化?数组初始化方法
  20. 一键GHOST 硬盘版/优盘版/光盘版/软盘版

热门文章

  1. 北京一建增报专业成绩如何进行管理
  2. 研发团队管理--跨部门沟通
  3. 2021全国职业技能大赛-网络安全赛题解析总结①(超详细)
  4. Python爬取图片2——爬取多个网页图片
  5. 荣誉 | GBASE南大通用实力入选2022信创产业独角兽TOP100
  6. unity接入facebook SDK时 警告:“OpenSSL not found. Make sure that OpenSSL is installed
  7. 清理数据库审计日志(.aud)
  8. Windows/MFC 如何区分鼠标双击和两次单击
  9. c++双人战争小游戏
  10. Js中的const关键字