二十三届全国青少年信息学奥赛初赛试题及答案c++

合集下载

全国青少年信息学奥林匹克联赛初赛练习卷(二)答案

全国青少年信息学奥林匹克联赛初赛练习卷(二)答案

全国青少年信息学奥林匹克联赛初赛练习卷(二)(普及组PASCAL语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一、单项选择题(20题,每题1.5分,共30分)1.完全二叉树的结点个数为11,则它的叶结点个数为()。

A. 4B. 3C. 5D. 2E. 6 (最后一个分支结点:n\2=11\2=5,故叶子有6个)2.平面上有五个点A(5,3)、B(3,5)、C(2,1)、D(3,3)、E(5,1),以这五点作为完全图G的顶点,每两点之间的直线距离是图G中对应边的权值。

以下哪条边不是图G的最小生成树中的边()。

A. ADB. BDC. CDD. DEE. EA3.Intel的首颗16位处理器是()。

A.8088B.80386C.80486D.8086E.Pentium(The first chip used in PCs was Intel's 8088. This was not, at the time it was chosen, the best available CPU, ... The 8088 was chosen for reasons of economics: its 8-bit data bus required less costly motherboards than the 16-bit 8086.)4.下列活动中不属于信息学奥赛的系列活动的是()。

A. NOIPB. NOIC. IOID. 冬令营E. 程序员等级考试5.以下哪个软件不是即时通信软件()。

A.网易泡泡B.MSN MessengerC.Google TalkD.3DS MaxE.QQ6.下列关于高级语言的说法错误的是()。

A.Fortran是历史上的第一个面向科学计算的高级语言B.Pascal和C都是编译执行的高级语言C.C++是历史上的第一个支持面向对象的语言D.编译器将高级语言程序转变为目标代码E.高级语言程序比汇编语言程序更容易从一种计算机移植到另一种计算机上7.常见的邮件传输服务器使用()协议接收邮件。

(noip2019)二十三届全国青少年信息学奥赛初赛试题及答案c++.doc

(noip2019)二十三届全国青少年信息学奥赛初赛试题及答案c++.doc

言简意赅,远见卓识,望君采纳,谢谢!删除水印可,编辑页眉,选中水印,点击删除。

第二十三届全国青少年信息学奥林匹克联赛初赛普及组 C++ 语言试题竞赛时间: 2019 年 10 月 14 日 14:30~16:30选手注意:●试题纸共有 7 页,答题纸共有 2 页,满分 100 分。

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

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

一、单项选择题(共20 题,每题 1.5 分,共计30 分;每题有且仅有一个正确选项)1.在 8 位二进制补码中, 10101011 表示的数是十进制下的()。

A. 43B. -85C. -43D. -842. 计算机存储数据的基本单位是( A. bit B. Byte C. GB)。

D. KB3.下列协议中与电子邮件无关的是()。

A. POP3B. SMTPC. WTOD. IMAP4. 分辨率为A. 937.5KB 800x600 、16 位色的位图,存储图像信息所需的空间为(B. 4218.75KBC. 4320KBD. 2880KB)。

5.计算机应用的最早领域是()。

A. 数值计算B. 人工智能C. 机器人D. 过程控制6.下列不属于面向对象程序设计语言的是( A. C B. C++ C. Java D. C#)。

7.NOI 的中文意思是()。

A. 中国信息学联赛B. 全国青少年信息学奥林匹克竞赛C. 中国青少年信息学奥林匹克竞赛D. 中国计算机协会8.2017 年 10 月 1 日是星期日, 1999 年 10 月 1 日是()。

A. 星期三B. 星期日C. 星期五D. 星期二9.甲、乙、丙三位同学选修课程,从 4 门课程中,甲选修 2 门,乙、丙各选修3 门,则不同的选修方案共有()种。

A. 36B. 48C. 96D. 19210. 设 G 是有 n 个结点、 m 条边( n ≤m)的连通图,必须删去 G 的()条边,才能使得 G 变成一棵树。

2023年全国中学生信息学奥赛题目

2023年全国中学生信息学奥赛题目

2023年全国中学生信息学奥赛题目第一题:给定一个整数n,求出0到n之间的所有整数中,包含数字“2”的个数。

解题思路:1. 将输入的整数n转化为字符串,方便遍历每一位数字。

2. 初始化一个计数器count,用于记录包含数字“2”的个数。

3. 使用循环遍历0到n之间的每个整数:- 将当前整数转化为字符串。

- 遍历字符串中的每个字符,如果字符等于“2”,则将计数器count 加1。

4. 输出计数器count的值,即为包含数字“2”的个数。

示例代码:```pythondef count_digit(n):count = 0for i in range(n + 1):num_str = str(i)for digit in num_str:if digit == '2':count += 1return countn = int(input("请输入整数n:"))result = count_digit(n)print("0到", n, "之间的整数中,包含数字2的个数为:", result)```第二题:给定一个字符串s,判断它是否是回文串。

解题思路:1. 初始化两个指针,分别指向字符串s的首尾字符。

2. 使用循环,移动指针进行比较:- 如果两个指针指向的字符相等,则继续向中间移动,继续比较。

- 如果两个指针指向的字符不相等,则字符串s不是回文串。

3. 如果循环结束后都没有发现不相等的情况,说明字符串s是回文串。

示例代码:```pythondef is_palindrome(s):i, j = 0, len(s) - 1while i < j:if s[i] != s[j]:return Falsei += 1j -= 1return Truestring = input("请输入一个字符串:")if is_palindrome(string):print(string, "是一个回文串")else:print(string, "不是一个回文串")```第三题:给定一个整数数组nums,找出数组中乘积最大的连续子数组,并返回其乘积。

第二十三届全国青少年信息学奥林匹克联赛初赛答卷

第二十三届全国青少年信息学奥林匹克联赛初赛答卷

第二十三届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2017 年10 月14 日14:30~16:30选手注意:● 试题纸共有7页,答题纸共有2页,满分100分。

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

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

一、单项选择题(共20 题,每题1.5 分,共计30 分;每题有且仅有一个正确选项)1. 在8 位二进制补码中,10101011 表示的数是十进制下的(B)。

A. 43B. -85C. -43D. -842. 计算机存储数据的基本单位是(B)。

A. bitB. ByteC. GBD. KB3. 下列协议中与电子邮件无关的是(C)。

A. POP3B. SMTPC. WTOD. IMAP4. 分辨率为800x600、16 位色的位图,存储图像信息所需的空间为(A)。

A. 937.5KBB. 4218.75KBC. 4320KBD. 2880KB5. 计算机应用的最早领域是(A)。

A. 数值计算B. 人工智能C. 机器人D. 过程控制6. 下列不属于面向对象程序设计语言的是(A)。

A. CB. C++C. JavaD. C#7. NOI 的中文意思是(B)。

A. 中国信息学联赛B. 全国青少年信息学奥林匹克竞赛C. 中国青少年信息学奥林匹克竞赛D. 中国计算机协会8. 2017 年10 月1 日是星期日,1999 年10 月1 日是(C)。

A. 星期三B. 星期日C. 星期五D. 星期二9. 甲、乙、丙三位同学选修课程,从4 门课程中,甲选修2门,乙、丙各选修3门,则不同的选修方案共有(C)种。

A. 36B. 48C. 96D. 19210. 设G 是有n个结点、m 条边(n ≤m)的连通图,必须删去G的(A)条边,才能使得G变成一棵树。

A. m – n + 1B. m - nC. m + n + 1D. n – m + 111. 对于给定的序列{a k},我们把 (i, j) 称为逆序对当且仅当i < j 且a i > a j。

青少年中学生信息学奥林匹克竞赛试题精选33题附题解答案

青少年中学生信息学奥林匹克竞赛试题精选33题附题解答案

青少年中学生信息学奥赛试题精选33题(附带题解)第1~10题为基础题,第11~20题为提高题,第21~33为综合题基础题:【1 Prime Frequency】【问题描述】给出一个仅包含字母和数字(0-9, A-Z 以及a-z)的字符串,请您计算频率(字符出现的次数),并仅报告哪些字符的频率是素数。

输入:输入的第一行给出一个整数T( 0<T<201),表示测试用例个数。

后面的T行每行给出一个测试用例:一个字母-数字组成的字符串。

字符串的长度是小于2001的一个正整数。

输出:对输入的每个测试用例输出一行,给出一个输出序列号,然后给出在输入的字符串中频率是素数的字符。

这些字符按字母升序排列。

所谓“字母升序”意谓按ASCII 值升序排列。

如果没有字符的频率是素数,输出“empty”(没有引号)。

试题来源:Bangladesh National Computer Programming Contest在线测试:UVA 10789提示先离线计算出[2‥2200]的素数筛u[]。

然后每输入一个测试串,以ASCLL码为下标统计各字符的频率p[],并按照ASCLL码递增的顺序(0≤i≤299)输出频率为素数的字符(即u[p[i]]=1且ASCLL码值为i的字符)。

若没有频率为素数的字符,则输出失败信息。

【2 Twin Primes】【问题描述】双素数(Twin Primes)是形式为(p, p+2),术语“双素数”由Paul Stäckel (1892-1919)给出,前几个双素数是(3, 5), (5, 7), (11, 13), (17, 19), (29, 31), (41, 43)。

在本题中请你给出第S对双素数,其中S是输入中给出的整数。

输入:输入小于10001行,每行给出一个整数S (1≤ S≤ 100000),表示双素数对的序列编号。

输入以EOF结束。

输出:对于输入的每一行,输出一行,给出第S对双素数。

2023信息学奥赛试题

2023信息学奥赛试题

2023信息学奥赛试题,以其严谨的逻辑思维、创新的技术应用,再一次向世人展示了信息学学科的独特魅力。

第一题,要求选手们在给定的一组数据中,找到最大子段和。

选手们需要运用动态规划的思想,将问题分解为更小的子问题,并通过递归或迭代的方式求解。

这道题目考察了选手的编程能力、算法设计能力以及对问题建模的能力。

第二题,要求选手们设计一个算法,在一个给定的网格图中,从起点到终点找到最短路径。

选手们需要考虑各种各样的障碍物和权重,并运用启发式搜索算法,如A*算法或Dijkstra算法,来找到最优解。

这道题目考察了选手的算法设计能力、数据结构的应用能力以及对复杂问题建模的能力。

第三题,要求选手们设计一个系统,能够对一个给定的文本库进行索引,并支持快速搜索。

选手们需要考虑各种各样的索引结构,如B树或哈希表,并运用适当的算法来实现索引的构建和查询。

这道题目考察了选手的算法设计能力、数据结构的应用能力以及对系统设计的理解。

第四题,要求选手们设计一个机器学习模型,能够对一个给定的数据集进行分类。

选手们需要考虑各种各样的机器学习算法,如决策树或支持向量机,并运用适当的技术来训练模型并评估其性能。

这道题目考察了选手的算法设计能力、机器学习的应用能力以及对数据分析的理解。

第五题,要求选手们设计一个计算机网络,能够在多个节点之间传输数据。

选手们需要考虑各种各样的网络协议,如TCP或UDP,并运用适当的技术来实现数据的传输和接收。

这道题目考察了选手的算法设计能力、网络协议的应用能力以及对计算机网络的理解。

2023信息学奥赛试题,以其严谨的逻辑思维、创新的技术应用,再一次向世人展示了信息学学科的独特魅力。

选手们通过这些题目,不仅锻炼了自己的编程能力、算法设计能力和系统设计能力,也加深了对信息学学科的理解。

相信这些选手们,将在未来的信息学领域大放异彩,为推动信息学学科的发展做出贡献。

全国青少年信息学奥赛普及组 C++语言试题

全国青少年信息学奥赛普及组 C++语言试题

第二十三届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2017年10月14日14:30~16:30选手注意:●试题纸共有7 页,答题纸共有2 页,满分100 分。

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

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

一、单项选择题(共20 题,每题 1.5 分,共计30 分;每题有且仅有一个正确选项)1. 在8 位二进制补码中,10101011 表示的数是十进制下的()。

A. 43B. -85C. -43D. -842. 计算机存储数据的基本单位是()。

A. bitB. ByteC. GBD. KB3.下列协议中与电子邮件无关的是()。

A. POP3B. SMTPC. WTOD. IMAP4. 分辨率为800x600、16 位色的位图,存储图像信息所需的空间为()。

A. 937.5KBB. 4218.75KBC. 4320KBD. 2880KB5. 计算机应用的最早领域是()。

A. 数值计算B. 人工智能C. 机器人D. 过程控制6.下列不属于面向对象程序设计语言的是()。

A. CB. C++C. JavaD. C#7. NOI 的中文意思是()。

A. 中国信息学联赛B. 全国青少年信息学奥林匹克竞赛C. 中国青少年信息学奥林匹克竞赛D. 中国计算机协会8. 2017 年10 月1 日是星期日,1999 年10 月1 日是()。

A. 星期三B. 星期日C. 星期五D. 星期二9.甲、乙、丙三位同学选修课程,从4 门课程中,甲选修2 门,乙、丙各选修3门,则不同的选修方案共有()种。

A. 36B. 48C. 96D. 19210. 设G 是有n 个结点、m 条边(n ≤ m)的连通图,必须删去G 的()条边,才能使得G 变成一棵树。

A. m – n + 1B. m - nC. m + n + 1D. n – m + 111. 对于给定的序列{ak},我们把(i, j) 称为逆序对当且仅当i < j 且ai > aj。

信息学奥赛考试题型及答案

信息学奥赛考试题型及答案

信息学奥赛考试题型及答案一、选择题1. 在计算机科学中,以下哪个选项不是数据结构的基本类型?A. 线性结构B. 树形结构C. 图形结构D. 量子结构答案:D2. 以下哪种算法不是排序算法?A. 快速排序B. 归并排序C. 深度优先搜索D. 堆排序答案:C二、填空题1. 在信息学奥赛中,常用的图遍历算法有深度优先搜索(DFS)和______。

答案:广度优先搜索(BFS)2. 哈希表是一种通过______来访问数据的数据结构。

答案:键值对三、简答题1. 描述二分查找算法的基本步骤。

答案:二分查找算法的基本步骤包括:首先确定要查找的元素所在的区间,然后取区间的中间值与目标值进行比较。

如果中间值等于目标值,则查找成功;如果中间值小于目标值,则在区间的右半部分继续查找;如果中间值大于目标值,则在区间的左半部分继续查找。

重复以上步骤,直到找到目标值或区间为空。

2. 解释什么是递归,并给出一个递归算法的例子。

答案:递归是一种在函数中调用自身的编程技巧,用于解决可以分解为相似子问题的问题。

一个递归算法的例子是计算阶乘,即n的阶乘(n!)可以通过递归函数实现:n! = n * (n-1)!,其中基本情况是0! = 1。

四、编程题1. 给定一个整数数组,请编写一个函数,找出数组中第二大的数。

答案:以下是一个可能的解决方案的伪代码:```function findSecondLargest(nums):if length of nums < 2:return nullmax1 = max2 = -∞for num in nums:if num > max1:max2 = max1max1 = numelse if num > max2 and num != max1:max2 = numreturn max2```2. 实现一个函数,判断一个链表是否为回文结构。

答案:以下是一个可能的解决方案的伪代码:```function isPalindrome(head):if head is null or next of head is null:return truefast = slow = headwhile fast and next of fast:fast = next of next of fastslow = next of slowsecondHalf = reverse(slow)while secondHalf:if head.value != secondHalf.value:return falsehead = next of headsecondHalf = next of secondHalfreturn true```注意:以上编程题答案中的伪代码仅供解题思路参考,实际编程语言实现可能有所不同。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二十三届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2017年10月14日14:30~16:30选手注意:•试题纸共有7页,答题纸共有2页,满分100分。

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

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

一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)1. 在8位二进制补码中,10101011表示的数是十进制下的()。

A. 43B.-85C.-43D.-842. 计算机存储数据的基本单位是()。

A.bitB.ByteC.GBD.KB3. 下列协议中与电子邮件无关的是()。

A.POP3B.SMTPC.WTOD .IMAP4•分辨率为800G600、16位色的位图,存储图像信息所需的空间为()。

A.937.5KBB.4218.75KBC.4320KBD.2880KB5. 计算机应用的最早领域是()。

A.数值计算B.人工智能C.机器人D.过程控制6. 下列不属于面向对象程序设计语言的是()。

A.CB.C++C .J avaD.C#7. N0I的中文意思是()。

A.中国信息学联赛B.全国青少年信息学奥林匹克竞赛C.中国青少年信息学奥林匹克竞赛D.中国计算机协会8.2017年10月1日是星期日,1999年10月1日是()。

A.星期三B.星期日C.星期五D.星期二9. 甲、乙、丙三位同学选修课程,从4门课程中,甲选修2门,乙、丙各选修3门,则不同的选修方案共有()种。

A.36B.48C.96D.19210. 设G是有n个结点、m条边(n< m)的连通图,必须删去G的()条边,才能使得G变成一棵树A.m -n+1B.m-nC.m+n+1D.n -m+111. 对于给定的序列{ak},我们把(i,j)称为逆序对当且仅当i<j且ai>aj。

那么序列1,7,2,3,5,4的逆序对数为()个。

A.4B.5C.6D.712. 表达式aG(b+c)Gd的后缀形式是()。

A.abcdG+GB.abc+GdGC.aGbc+GdD.b+cGaGd13. 向一个栈顶指针为hs的链式栈中插入一个指针s指向的结点时,应执行()A. hs->n eGt=s;B. s->n eGt=hs;hs=s;C. s->n eGt=hs->n eGt;hs->n eGt=s;D. s->n eGt=hs;hs=hs->n eGt;14. 若串S= “ copyright ”,其子串的个数是()。

A.72B.45C.46D.3615. 十进制小数13.375对应的二进制数是()。

A.1101.011B.1011.011C.1101.101D.1010.0116. 对于入栈顺序为a,b,c,d,e,f,g的序列,下列()不可能是合法的出栈序列。

A.a,b,c,d,e,f,gB.a,d,c,b,e,g,fC.a,d,b,c,g,f,eD.g,f,e,d,c,b,a17. 设A和B是两个长为n的有序数组,现在需要将A和B合并成一个排好序的数组, 任何以元素比较作为基本运算的归并算法在最坏情况下至少要做()次比较。

A. n2B. nlog nC.2 nD.2 n-118. 从()年开始,NOIP竞赛将不再支持Pascal语言。

A.2020B.2021C.2022D.202319. 一家四口人,至少两个人生日属于同一月份的概率是()(假定每个人生日属于每个月份的概率相同且不同人之间相互独立)。

A.1/12B.1/144C.41/96D.3/420. 以下和计算机领域密切相关的奖项是()。

A.奥斯卡奖B.图灵奖C.诺贝尔奖D.普利策奖二、问题求解(共2题,每题5分,共计10分)1. 一个人站在坐标(0,0)处,面朝G轴正方向。

第一轮,他向前走1单位距离,然后右转;第二轮,他向前走2单位距离,然后右转;第三轮,他向前走3单位距离,然后右转他一直这么走下去。

请问第2017轮后,他的坐标是:( __________ ))(请在答题纸上用逗号隔开两空答案)2. 如下图所示,共有13个格子。

对任何一个格子进行一次操作,会使得它自己以及与它上下左右相邻的格子中的数字改变(由1变0,或由0变1)。

现在要使得所有的格子中的数字都变为0,至少需要_________ 次操作。

三、阅读程序写结果(共4题,每题8分,共计32分)1.# in cludeus ingn amespacestd;in tma in() {i ntt[256];stri ngs;i nti;cin> >s;for(i=0;i<256;i++)t[i]=0;for(i=0;i<s.le ngth();i++)t[s[i]]++;for(i=0;i<s.le ngth();i++)if(t[s[i]]==1){ cout<<s[i]<<e ndl;retur n0;}cout< v"no" <<e ndl;retur n0;}输入:GyzGyw输出:_________2.# in cludeus ingn amespacestd;in tg(i ntm,i ntn ,i ntG){i ntan s=0;in ti;if(n==1)return1;for(i=G;i<=m/n;i++)a ns+=g(m-i, n-1,i);returna ns;}i ntmai n(){in tt,m, n;ci n>>m> >n;cout<<g( m,n ,0)<<e ndl;return0;}输入:73输出:_________3. # in cludeus ingn amespacestd;in tmai n(){stri ngch;i nta[200];i ntb[200];intn ,i,t,res;ci n> >ch;n=ch.len gth();for(i=0;i<200;i++)b[i]=0;for(i=1;i<=n;i++){a[i]=ch[i-1]-'0';b[i]=b[i-1]+a[i]; } res=b[ n];t=0;for(i=n;i>0;i--){if(a[i]==0)t++;if(b[i-1]+t<res)res=b[i-1]+t;}coutvvresvve ndl;retur nO;}输入:1001101011001101101011110001 输出:_________4. # in cludeus ingn amespacestd;in tma in() {in t n,m;cin»n>> m;i ntG=1;in ty=1;i ntdG=1;i ntdy=1;i ntc nt=0;while(c nt!=2){cnt=0;G=G+dG;y=y+dy;if(G==1||G==n){++c nt;dG=-dG;}if (y==1||y==m ){++c nt;dy=-dy;}}coutv<Gvv""vvyvve ndl;retur n0;}输入1 : 43输出1 : ________ (3分)输入 2: 20171014输出2: _________ (5分)四、完善程序(共2题,每题14分,共计28分)该程序使用分治法求G p modm 的值。

(第一空2分, 输入:三个不超过10000的正整数G , p , m 。

1.(快速幕)请完善下面的程序,输出:G p modm的值。

提示:若p 为偶数,G p=(G2)P/2;若p 为奇数,G P=GG(G2)(P-1"2 #in cludeus ingn amespacestd;in tG,p,m,i,result;in tmai n(){cin> >G>>p>>m;result= (1) ;while( (2) ){if(p%2==1)result= (3) ;p/=2;G= ⑷;}cout«(5) <<e ndl;return。

;2.(切割绳子)有n条绳子,每条绳子的长度已知且均为正整数。

绳子可以以任意正整数长度切割,但不可以连接。

现在要从这些绳子中切割出m条长度相同的绳段,求绳段的最大长度是多少。

(第一、二空 2.5分,其余3 分)输入:第一行是一个不超过100的正整数n,第二行是n个不超过106的正整数,表示每条绳子的长度,第三行是一个不超过108的正整数m。

输出:绳段的最大长度,若无法切割,输出Failed 。

#in cludeus ingn amespacestd;intn, m,i,lbo un d,ubo un d,mid,co unt;in tle n[ 100];// 绳子长度in tma in( ){ci n>>n ;cou nt=O;for(i=0;i <n ;i++){ci n> >le n[i];}cin»m;if( (2) ){ cout<v"Failed"v<e ndl; return。

;}Iboun d=1;ubound=1000000;while( (3) ){ mid= (4) ; coun t=0;for(i=0;i< n;i++)⑸;if(co un t<m)ubo un d=mid-1; elseIboun d=mid;}cout«lbo un d<<e ndl;retur nO; }。

相关文档
最新文档