每年复赛都有相当数量的学生因为考试环境和操作不规范导致0分,俗称“爆0”。曹老师整理了一份复赛注意事项,避免爆“爆0”,参加复赛的学生一定要仔细阅读。

代码保存位置【爆0率 80%】

大部分省份是要求考生自己建文件夹,每道题都建文件夹,考场上会有明确说明。

以2021年题目为例,先以自己考号创建文件夹BJ-01006,个别省要求考号+考生姓名,考场看清要求即可,然后为每道题创建子文件夹,即便某道题不会做,也建议把题目文件夹创建了。

Windows系统编程时,一定要勾选显示文件扩展名,选手将程序命名为candy.cpp,实际上是candy.cpp.cpp;选手将输入文件命名为candy.in,实际上是candy.in.txt,所以一定要显示文件扩展名!

未按规定建立目录、建立的目录名出现错误或提交的源程序没有放在相应的子目录下,都会导致选手0分,责任由选手承担,全国要求:选手试题目录下,不得包含除有效答案以外的任何文件和目录。

提交代码时,只保留.cpp文件,把编译后的产生的文件全部删掉,删掉生成的可执行程序、.in文件、.out文件、*.ans文件等

文件重定向【爆0率 70%】

无论是在Windows上离线答题,还是使用回收系统在线提交,考生的代码都会下载离线测评,在NOI Linux系统里使用Arbiter测评软件离线测评,所以文件重定向代码一定要写上,不然离线测评爆0!

最后的fclose()可写可不写,建议考生不要写fclose()。

使用freopen()一定注意每道题的文件名要修改,比如2021年为例:

代码规范 【爆0率 60%】

■ 比赛时应使用万能头文件

#include<bits/stdc++.h>

■ 为了防止数据溢出,整数变量均建议使用long long 类型,如果需要大量使用,可以给long long 类型起一个别名ll,使代码更简洁

typedef long long ll;
不建议使用#define ll long long

■ 定义全局变量,看清题目最后的数据范围要求,比如 0 <= n <= 10^5

const int N = 1e5 + 5;
int a[N], b[N];
int n, m;

■ 程序的return 0;必须要,否则爆0

■ 全局变量不要使用y0、y1、yn、j0、j1、jn。因为这些变量名称在C++11标准库里被定义了,不能再用作全局变量,否则编译会有警告或出错。但是这些变量可以用作局部变量。

■ 局部变量一定要初始化,尤其是累加计算时

■ 最后提交代码时删除调试语句

■ 输出规范,注意大小写,注意是否有空格和换行,注意是否结果取模,不要漏掉

■ 程序禁止使用内嵌汇编和以下划线开头的库函数,比如__gcd()

■ 不要用float,使用double,默认的小数类型是double

■ long long类型输入输出时,使用%lld格式化控制符

■ 输入输出数量很大时,使用scanf和printf读写,比用cin/cout读写要快

其它注意事项

■ 考试时不要踢到电源导致关机

■ 使用虚拟机NOI Linux系统时不要随意退出虚拟机全屏

■ 考试不要作弊,不仅全网通报批评,还会禁赛三年,得不偿失!

■ 放松心态,专心答题,不被别人键盘声干扰影响