C/C++程序设计竞赛真题实战特训教程(图解版)
上QQ阅读APP看书,第一时间看更新

关于赛制

蓝桥杯软件类大赛可分为省赛和总决赛两级。

1. 省赛

每个组别分别设立一、二、三等奖,原则上各奖项的比例为 10%、20%、30%。获奖比例仅作为参考,组委会专家组将根据赛题难易程度及整体答题情况,制定获奖最低分数线,未达到获奖最低分数线者不得奖。

2. 国赛

每个组别分别设立一、二、三等奖及优秀奖。其中,一等奖不高于 5%,二等奖占 20%,三等奖不低于 35%,优秀奖不超过 40%,零分卷不得奖。

关于题型

每场蓝桥杯软件类大赛设有 10 道题目,总分为 150 分,竞赛时长为 4 小时。对于同一道题目,参赛选手可多次提交答案,评分时以最后一次提交的答案为准。

参赛选手必须通过浏览器方式提交自己的答案,在其他位置作答或以其他方式提交的答案无效。试题设有 “结果填空” 和 “编程大题” 两种题型。

1. 结果填空

要求参赛选手根据题目描述直接填写结果。求解方式不限,不要求源代码。参赛选手将答案直接通过浏览器提交即可,不要书写多余的内容。

2. 编程大题

要求参赛选手设计的程序对于给定的输入能给出正确的输出结果。参赛选手所编写的程序只有在能运行出正确结果的情况下才有机会得分。

关于本书的学习

本书适合具有一定编程基础,对蓝桥杯软件类大赛有浓厚兴趣的算法竞赛爱好者及各类高等院校计算机专业的师生阅读。

如前所述,本书在编写时考虑了不同编程水平读者的学习特点和竞赛需求,下面就详细介绍本书所设置的章节结构,以便读者在了解我们的编写思路之后,能更好地应用本书来进行学习和备赛。

本书对于大部分试题及其解答过程的写作结构,主要有题目信息、懒人速读、题目分析、拓展提高这 4 个栏目,其具体构成如下图所示。

图像说明文字

(1)题目信息。主要提供两类信息,一类是基本的 “竞赛信息”,例如该试题的所属年份、组别、难度级别等;另一类是完整的试题信息,包括问题描述,输入、输出格式,输入、输出样例,样例说明,以及数据规模等。

(2)懒人速读。由于部分真题的描述显得烦琐,不利于读者快速把握题目的核心考点,我们通过此栏目带领读者高效地解读题目、准确地领会考查要点,有利于读者节省阅读与理解题意的时间,并能够快速地投入到解题的思考过程中。

(3)题目分析。从参赛选手的角度一步一步引出思考与解决问题的方式方法,此栏目下设置了两个重要模块:一是核心考点,用以给出题目主要考查的知识点;二是参考代码,用以给出试题对应的参考答案,而且大部分 “参考代码” 中都提供了贴心的注释。

(4)拓展提高。在原题目的基础上引导读者进行更深入的探讨,以拓展思路,掌握更多的解题技巧。

蓝桥杯大赛官方资源的获取

蓝桥云课是蓝桥杯大赛的官方资源平台。对于本书所提供的题目,读者都可以在蓝桥云课上进行模拟训练。蓝桥云课内嵌了在线评测系统,能进行自动判题,并返回有关正误的提示,从而帮助读者完全自主地高效学习编程。蓝桥云课所提供资源的相关链接如下。

链接 1:蓝桥杯大赛官方网站,dasai.lanqiao.cn。

链接 2:Python 3 自带标准库,https://docs.python.org/3/library/index.html。

链接 3:蓝桥杯大赛历届真题,https://www.lanqiao.cn/courses/2786。

链接 4:蓝桥杯官网题库,www.lanqiao.cn/problems,简称 lanqiaoOJ。

需要特别指出的是,蓝桥云课内嵌的在线评测系统提供了海量的算法竞赛经典例题及蓝桥杯软件类大赛的历年真题,真题所使用的评测数据与大赛评分时使用的测试数据一致。如果你参加了比赛,那么赛后在蓝桥云课的 “链接 3” 与 “链接 4” 中提交源代码,可得到最接近于实际成绩的结果。如果你正在备赛,那么可以在蓝桥云课中找到完整的算法学习路线与训练体系,能在很大程度上帮助你取得好成绩。

此外,蓝桥云课的社区资源相当丰富,不仅有专为蓝桥杯大赛展开的话题,还涵盖了计算机相关岗位求职就业的内容。

致谢

写作是一个痛苦并快乐的过程。在这个过程中,我们得到了蓝桥杯大赛负责人李艳萍老师的大力支持与指导;得到了华东理工大学程序设计竞赛主教练罗勇军老师提供的宝贵意见与建议;得到了蓝桥杯大赛参赛选手、算法竞赛爱好者刘子俊、常凤迪、刘会智、张晖的赞同与认可;得到了人民邮电出版社各位编辑给予的鼓励与帮助。在此深表感谢!

由于我们时间仓促、水平有限,书中难免存在错误或不当之处,恳请广大读者及时指正,以便 “去伪存真”。若有任何关于本书的意见或建议,欢迎随时与我们沟通联系,我们教研团队的邮箱是 LQbook@lanqiao.cn,出版社的联系邮箱是 wangxudan@ptpress.com.cn。

期待您的反馈!

编者

2022 年 8 月