蓝桥杯试题及答案分享(Python版)

1 比赛介绍

蓝桥杯大赛的举办得到了教育部、工业和信息化部有关领导的高度重视,相关司局的大力支持,也得到了各省教育厅和各有关院校的积极响应,更得到了参赛师生的广泛好评,参赛学校超过 1200 余所,参赛规模已达四十万人次,取得了良好的社会效果。

省级在我们学校为B类,国家级则为A类,省级中获一等奖的可参加国家级,因此比赛含金量高,建议大家好好把握😊

其中个人赛软件类分:

  • C/C++程序设计(研究生组、大学A组、B组、C组)
  • Java软件开发(研究生组、大学A组、B组、C组)
  • Python程序设计(大学组)

2 Python组竞赛规则及说明

本次竞赛不分组别。所有研究生、重点本科、普通本科和高职高专院校均可报名该组,统一评奖。

全国选拔赛时长:4 小时。
总决赛时长:4 小时。
详细赛程安排以组委会公布信息为准。

个人赛,一人一机,全程机考。选手机器通过局域网连接到赛场的竞赛服务器。选手答题过程中无法访问互联网,也不允许使用本机以外的资源(如USB 连接)。竞赛系统以”服务器-浏览器”方式发放试题、回收选手答案。

选手机器配置:

X86兼容机器,内存不小于 4G ,硬盘不小于 60G
操作系统:Windows7 及以上

编程环境:

编译器:Python 3.8.6
编辑器:IDLE Python 自带编辑器

竞赛题目完全为客观题型。根据选手所提交答案的测评结果为评分依据。共有两种题型。

结果填空题

题目描述一个具有确定解的问题。要求选手对问题的解填空。
不要求解题过程,不限制解题手段(可以使用任何开发语言或工具,甚至是手工计算),只要求填写最终的结果。最终的解是一个整数或者是一个字符串,最终的解可以使用ASCII 字符表达。

编程大题

题目包含明确的问题描述、输入和输出格式,以及用于解释问题的样例数据。

编程大题所涉及的问题一定是有明确客观的标准来判断结果是否正确,并可以通过程序对结果进行评判。果进行评判。

选手应当根据问题描述,编写程序(使用 Python 编写)来解决问题,在评测时选手的程序应当从标准输入读入数据,并将最终的结果输出到标准输出中。

在问题描述中会明确说明给定的条件和限制,明确问题的任务,选手的程序应当能解决在给定条件和限制下的所有可能的情况。在给定条件和限制下的所有可能的情况。

选手的程序应当具有普遍性,不能只适用于题目的样例数据。

为了测试选手给出解法的性能,评分时用的测试用例可能包含大数据量的压力测试用例,选手选择算法时要尽可能考虑可行性和效率问题。

Python程序设计基础:包含使用 Python编写程序的能力。该部分不考查选手对某一语法的理解程度,选手可以使用自己喜欢的语句编写程序。

计算机算法:枚举、排序、搜索、计数、贪心、动态规划、图论、数论、博弈论、概率论、计算几何、字符串算法等。

数据结构:数组、对象/结构、字符串、队列、栈、树、图、堆、平衡树结构、字符串、队列、栈、树、图、堆、平衡树/线段树、复杂数据线段树、复杂数据结构、嵌套数据结构等。

选手只有在比赛时间内提交的答案内容是可以用来评测的,比赛之后的任何提交均无效。

选手应使用考试指定的网页来提交代码,任何其他方式的提交(如邮件、U盘)都不作为评测依据。

选手可在比赛中的任何时间查看自己之前提交的代码,也可以重新提交任何题目的答案,对于每个试题,仅有最后的一次提交被保存并作为评测的依据。在比赛中,评测结果不会显示给选手,选手应当在没有反馈的情况下自行设计数据调试自己的程序。

对于每个试题,选手应将试题的答案内容拷贝粘贴到网页上进行提交。

Python程序仅可以使用Python自带的库,评测时不会安装其他的扩展库。

程序中应只包含计算模块,不要包含任何其他的模块,比如图形、系统接口调用、系统中断等。对于系统接口的调用都应通过标准库来进行。

程序中引用的库应该在程序中以源代码的方式写出,在提交时也应当和程序的其他部分一起提交。

全部使用机器自动评分。对于结果填空题,题目保证只有唯一解,选手的结果只有和解完全相同才得分,出现格式错误或有多余内容时不得分。

对于编程大题,评测系统将使用多个评测数据来测试程序。每个评测数据有对应的分数。选手所提交的程序将分别用每个评测数据作为输入来运行。对于某个评测数据,如果选手程序的输出与正确答案是匹配的,则选手获得该评测数据的分数。

评测使用的评测数据一般与试题中给定的样例输入输出不一样。因此建议选手在提交程序前使用不同的数据测试自己的程序。

提交的程序应严格按照输出格式的要求来输出,包括输出空格和换行的要求。如果程序没有遵循输出格式的要求将被判定为答案错误。请注意,程序在输出的时候多输出了内容也属于没有遵循输出格式要求的一种,所以在输出的时候请不要输出任何多余的内容,比如调试输出。

3 试题及答案

试题由本人从历年搜集并附了程序解答,由于本人编程能力有限,可能有错或并非最优解,欢迎指正!

当初本人刷完题,将解答过程分享给老魏,最终老魏获得了省二(成为我心中的阴影😢),说明刷题还是有一定帮助,希望大家能认真做好每一题。

题目描述

小蓝给学生们组织了一场考试,卷面总分为100分,每个学生的得分都是一个0到100的整数。如果得分至少是60分,则称为及格。如果得分至少为85分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。

输入描述

输入的第一行包含一个整数 n (1≤n≤1 0 4 10^4 1 0 4),表示考试人数。接下来n行,每行包含一个0至100的整数,表示一个学生的得分。

输出描述

输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分四舍五入保留整数。

n = int(input())

passNum = 0

goodNum = 0
for _ in range(n):
    score = int(input())
    if score >= 60:
        passNum += 1
    if score >= 85:
        goodNum += 1
print(str(round(passNum/n*100))+'%')
print(str(round(goodNum/n*100))+'%')

题目描述

FJ在沙盘上写了这样一些字符串:
A1 = “A”
A2 = “ABA”
A3 = “ABACABA”
A4 = “ABACABADABACABA”
… …

你能找出其中的规律并写所有的数列AN吗?

输入描述

仅有一个数:N ≤ 26。

输出描述

请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。

输入样例

输出样例

ABACABA

n = int(input())
result = ''
for i in range(n):
    result = result + chr(ord('A') + i) + result
print(result)

题目描述

如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。

输入描述

输入包含两个正整数,K和L。

输出描述

输出一个整数,表示答案对1000000007取模后的值。

输入样例

4 2

输出样例

对于30%的数据,KL

Original: https://blog.csdn.net/weixin_45377629/article/details/125220044
Author: 寻找永不遗憾
Title: 蓝桥杯试题及答案分享(Python版)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/722870/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球