第十届“蓝桥杯”全国软件和信息技术专业人才大赛 竞赛规则及说明(个人赛软件类)
1. 组别
竞赛分为:c/c++大学 A 组,c/c++大学 B 组,c/c++大学 C 组,Java 大学 A 组,Java 大 学 B 组,java 大学 C 组共 6 个组别。 每位选手只能申请参加其中一个组别的竞赛。各个组别单独评奖。 一本院校(985、211)本科生只能报大学 A 组。所有院校研究生只能报大学 A 组。 其它本科院校本科生可自行选择大学 A 组或大学 B 组。 其它高职、高专院校可自行选择报任意组别。
2. 竞赛赛程
预赛(省赛)时长:4 小时。6 个组别同时进行。 决赛时长:4 小时。分上下午两个场次(每位选手只参加其中一个场次)。 详细赛程安排以组委会公布信息为准。
3. 竞赛形式
个人赛,一人一机,全程机考。 选手机器通过局域网连接到各个赛场的竞赛服务器。 选手答题过程中无法访问互联网,也不允许使用本机以外的资源(如 USB 连接) 。 竞赛系统以“服务器-浏览器”方式发放试题、回收选手答案。
4. 参赛选手机器环境
选手机器配置: X86 兼容机器,内存不小于 1G,硬盘不小于 60G 操作系统:WindowsXP 或 Windows7 c/c++ 语言开发环境: Dev-cpp 5.4.0 支持 ANSI C,ANSIC++,STL c/c++ API 帮助文档(中文,chm 格式) Java 语言开发环境: JDK 1.6 Eclipse Helios for JavaSE API 帮助文档(中文,chm 格式)
5. 试题形式
竞赛题目完全为客观题型。 根据选手所提交答案的测评结果为评分依据。 共有三种题型。
5.1. 结果填空题
题目描述一个具有确定解的问题。要求选手对问题的解填空。 不要求解题过程,不限制解题手段(可以使用任何开发语言或工具,甚至是手工计 算) ,只要求填写最终的结果。
5.2. 代码填空题
题目描述一个具有确定解的问题。 题目同时给出该问题的某一解法的代码,但代码有缺失部分。 要求选手读懂代码逻辑,对其中的空缺部分补充代码,使整段代码完整。 只填写空缺部分,不要填写完整句子。不要写注释、说明或其它题目中未要求的内容。
所填代码应该具有通用性,不能只对题面中给出的特殊示例有效。
5.3. 编程大题
题目为若干具有一定难度梯度、分值不等的编程题目。 这些题目的要求明确、答案客观。 题目一般要用到标准输入和输出。要求选手通过编程,对给定的标准输入求解,并通过 标准输出,按题目要求的格式输出解。题目一般会给出示例数据。 一般题目的难度主要集中于对算法的设计和逻辑的组织上。理论上,选手不可能通过猜 测或其它非编程的手段获得问题的解。 选手给出的解法应具有普遍性,不能只适用于题目的示例数据(当然,至少应该适用于 题目的示例数据)。 为了测试选手给出解法的性能,评分时用的测试用例可能包含大数据量的压力测试用 例,选手选择算法时要尽可能考虑可行性和效率问题。
6. 试题涉及的基础知识
Java 大学 C 组
解题所涉及的知识:基本语法、面向对象、网络编程、接口、集合、IO、多线程、内 部类、异常与保护,基本数据结构。( 不涉及 swing 等图形界面,不涉及 html、JSP、Tomcat、 开源框架等 web 开发方面,不涉及 JDBC、SQL 等数据库编程方面) 解题允许使用的特性:JDK1.6 支持的特性
Java 大学 B 组
解题所涉及的知识:Java 大学 C 组全部知识 + 数据结构(高校《数据结构》教材中出 现的经典结构,及其通过组合、变形、改良等方法创造出的变种)+ 大学程度的基本数学 知识(含:解析几何、线性代数、微积分、概率、复平面基本性质) 解题允许使用的特性:同 java 大学 C 组
Java 大学 A 组
解题所涉及的知识:Java 大学 B 组全部知识 + 设计模式,反射,XML,多核与并发, 软件测试。 解题允许使用的特性:同 java 大学 C 组
c/c++大学 C 组
解题所涉及的知识:结构、数组、指针、标准输入输出、文件操作、递归、基本数据结 构(在代码填空中不会出现 c++知识,不会出现 ANSI C/C++ 之外的 windows API 调用) 解题允许使用的特性:选手可以使用 c 风格或 c++风格或混合风格解答编程大题。 允许使用 ANSI C(99) / ANSI C++(98) 特性。允许使用 STL 类库。
c/c++大学 B 组
解题所涉及的知识:c/c++大学 C 组全部知识 + 数据结构(高校《数据结构》教材中出 现的经典结构,及其通过组合、变形、改良等方法创造出的变种)、函数指针、位运算 + 大 学程度的基本数学知识(含:解析几何、线性代数、微积分、概率、复平面基本性质) 解题允许使用的特性:同 c/c++大学 C 组
c/c++大学 A 组
解题所涉及的知识:c/c++大学 B 组全部知识 + 函数模板、宏替换、汇编知识 解题允许使用的特性:同 c/c++大学 C 组
7. 涉及的领域知识
除了编程语言的基础知识,大赛很少用到特定领域的知识。比如:电信、医药、地质、 银行等特定领域。如果偶尔用到,会详细解释概念,并给出足够的示例。 但“数学领域”是个例外。大赛假定选手具有足够的中学数学知识。 包括: 算数:素数,整出,余数,求模,不定方程 „ 代数:函数,方程,多项式,„ 解析几何:笛卡尔坐标系,