前 言
随着国家对高校教育改革的深入,以赛促学这种教学方式越来越凸显出优势之处。不少同学都通过参加竞赛这条道路提升自己的竞争技能。在软件和信息技术专业,面向大学生的竞赛也不少,如ACM-ICPC国际大学生程序设计竞赛、中国大学生计算机设计大赛、中国大学生服务外包创新创业大赛等,这些比赛从多个层次提升学生的计算机能力和水平。但这些比赛对于一般本科院校的程序设计竞赛来说,也有不足的之处,比如ACM-ICPC国际大学生程序设计竞赛,由于要求较高,一般本科院校很难参与其中;中国大学生计算机设计大赛以作品设计为主,对于现场计算机编程能力没有要求。在这种情况下,蓝桥杯全国软件和信息技术专业人才大赛就是一个很好的补充。
蓝桥杯全国软件和信息技术专业人才大赛是由工业和信息化部人才交流中心举办的全国性IT学科赛事。截止2021年,共有北京大学、清华大学、上海交通大学等全国1200余所高校参赛,累计参赛人数超过50万人。2020年,蓝桥杯大赛被列入中国高等教育学会发布的“全国普通高校学科竞赛排行榜”,是高校教育教学改革和创新人才培养的重要竞赛项目。
蓝桥杯软件类比赛以个人赛为主,包括C/C++、Python和Java三类语言,竞赛分为:研究生组,大学A组,大学B组和大学C组。研究生只能报研究生组、重点本科院校(985、211)本科生只能报大学A组及以上组别、其它本科院校本科生可报大学B组及以上组别、其它高职、高专院校可自行选择报任意组别。本教材主要针对大学B组竞赛试题进行编写,参考程序以C/C++程序语言编写。其它语言和组别的考生可以参考解题思路和解题方法。
蓝桥杯考试分为校赛、省赛和国赛三个阶段,其中省赛是呈上启下的关键比赛,本教材就是以蓝桥杯软件类2017~2021共五年的省赛真题作为基础,通过分类、分析和总结,形成该书。教材既有算法知识点的介绍,又有算法案例的分析,还有具体代码的参考,让学生能够掌握思路,学会编程。最后教材也给出了练习题,让学生巩固而知新。
蓝桥杯软件类的省赛考试一共4个小时,10道题目,从简单到复杂,考核大学生需要掌握的各类算法,包括枚举、模拟、递归和递推、搜索、贪心、动态规划等。由于算法内容涉及的较多,本教材也只能抛砖引玉,引导学生,备赛蓝桥。
要想把程序设计学好,这需要一个长期的努力的结果,我希望同学们能够从简单开始,不断总结自己的学习心得,只要持之以恒,肯定能够获得丰硕的成果。本教材希望能够引导大家进入程序设计的大门,为自己的未来编写一个美好的代码。
本书的撰写,主要由丁向民负责统稿,多名老师和同学参与了教材题目的解答和校正,主要包括:尤文、朱峰、王成成、陈相斌、丁昱岑、李兆亮、耿涛、耿志舟、李文强、郭楠、王倩倩等,在此表示感谢。本书在撰写过程中,引用了一些文献和网络上的解题思路,在此一并表示感谢。
由于时间仓促,本书难免有错误和不足之处,请广大同行批评指正。
盐城师范学院
丁向民
2021.7.17