欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

蓝桥杯学习笔记-蓝桥杯介绍

程序员文章站 2022-06-26 13:28:31
...

蓝桥杯软件组分为C/C++和Java两个方向,每个方向又分为A/B/C三个组别

一本院校(985、211)本科生和所有研究生只能报A组,其他本科院校的本科生可以自行选择A组或B组,其他高职高专学生可以自行报名任意组别

蓝桥杯有两个阶段:初赛(省赛)和决赛

竞赛形式为个人赛,每个人一台电脑,全程使用电脑进行答题,不能访问互联网,也不能使用USB等电子设备,只能访问所在考场的局域网,在比赛期间会通过局域网将试题发放到你的电脑里,需要考生完成题目并通过网络提交答案

比赛的题型有三种:结果填空题、代码填空题和编程大题
所有题目都是客观题,以选手提交答案的评测结果为评分依据

考察编程能力、基本数据结构和一些基础的算法知识

判题过程几乎都由机器完成,只有编程大题会有少量的人工参与

结果填空题:
一类具有确定解的问题,要求考生填入正确的答案
无须写出解题过程,不限定计算的过程,可以通过编程、在纸上计算、甚至用Excel和Windows自带的计算器算出答案,只要最终答案正确就能得满分,否则0分,注意答案确保唯一性!(格式)

例子:
2016蓝桥杯省赛B组第一题
有一堆煤球,堆成三角棱锥形,具体:
第一层放1个;
第二层放3个;
第三层放6个;
第四层放10个;
……
如果一共有100层,共有多少个煤球?
答案:171700

#include<iostream>
using namespace std;
int main(){
	int tmp=0,sum=0;
	for(int i=1;i<=100;i++){
		tmp+=i;
		sum+=tmp;
	}
	cout<<sum;
	return 0;
}

代码填空题:
往往描述了一个具有确定解的题目,并给出了该问题的某一解法的代码,其中会空缺一部分,需要考生读懂代码的逻辑并对其中空缺的部分补充代码,使整段代码完整

注意:不要写上额外的注释、说明或者不在题目要求之内的内容

例题:
下面的代码实现把一个串p复制到新的位置q,请填写空缺的语句

char* p="abcde";
char* q=(char)malloc(strlen(p)+1);
for(int i=0;______;i++)
	q[i]=p[i];
q[i]=0;

这题有多种答案,比如
既然给出了p的长度,直接i<5;或者p[i];或者*(p+i);或者i<strlen(p);都是可以的

编程大题:
为若干具有一定难度梯度,分值不等的编程题目
解题一般要用到标准输入和输出
要求选手通过编程,对给定的标准输入求解,并通过标准输出,按题目要求的格式输出解,一般题目会给出示例数据

考察点一般集中在对算法设计和逻辑的组织上,选手给出的解应具有普遍性,不能只适用于题目的示例数据

注意事项:
在评卷时使用的输入数据与试卷中给出的示例数据可能是不同的,选手给出的程序必须是通用的,不能只对试卷中给定的数据有效

仔细阅读程序的输入、输出要求,千万不要输出没有要求的、多余的内容,例如:”请您输入xx数据“,并且建议仔细阅读示例,不要想当然!

程序必须使用标准输入、标准输出,以便机器评卷时重定向

c/c++注意:
程序处理完一个用例的数据之后,立即退出(return 0;),千万不要循环等待下一个用例的输入

对于编程题目,要求选手给出的解答完全符合ACSI C++标准,不能使用诸如绘图、Win32API、中断调用、硬件操作或与操作系统相关的API

代码中允许使用STL类库

main函数结尾需要return 0

所有依赖的函数必须明确的在源文件中#include<xxx>,不能通过工程设置而省略常用头文件

所有代码放在同一个源文件中,调试通过后拷贝提交该代码,提交时注意选择所期望的编译器类型!

相关标签: 蓝桥杯 算法