写在前面的话
感谢@Mars-OJ勰码教育提供的数据和图片
CSP爆零大家应该都不陌生
当然啦,没人想爆零
以下是两场CSP模拟的爆零统计结果:
第一场:
第二场:
你爆零了吗?
爆零原因诊断
1.文件夹建立错误
正常情况下,CSP选手需要按照如下方式建立文件夹:
最外层是考号,考号下有以题目英文名命名的文件夹,每个文件夹下又有对应的同名cpp/c/pas文件
像这样:
CSP文件夹格式
而大部分爆零考生是这样建立文件夹的:
还有这样的:
甚至这样的:
程序找不到代码当然爆零啦
2.没有加文件读写
一般情况下我们写代码都是这样的:
#include <iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
cout << a + b;
return 0;
}
而在CSP中,你需要这么写:
#include <iostream>
using namespace std;
int main()
{
freopen("question.in", "r", stdin);
freopen("question.out", "w", stdout); //question为题目名称
int a, b;
cin >> a >> b;
cout << a + b;
return 0;
}
这时,同学们就可能出现问题了:平时不用加这两句,考试了习惯改不过来。
还有些同学为了方便测试,将输入文件名改为了测试用例的名称,提交时忘了改回来:
3.文件夹命名不规范
这就是很常犯的错误了
文件夹命名规范各省略有不同,可能是考号/考号 + 姓名全拼
如果不符合该省命名规范,则会被当做没有提交,爆零。
例如下图采取的是考号+姓名全拼的命名方式,红色的都是不规范:
3.头文件错误
那本地不就会爆CE吗?!
头文件引用缺失,将会导致编译错误,代码无法运行,从而导致0分。
但是,有些错误会因系统、IDE、编译器不同而被悄悄地修复,没有报错。
请五秒钟找出下面代码的CE
#include <bits/stdC++.h>
答案:
C
大写了!!!
正确写法如下:
#include <bits/stdc++.h>
然鹅错误写法在本地不会爆CE
😱😱😱
所以,一定要小心啊
P . S . P.S. P.S.建议使用万能头(漏头文件本地也可能不爆CE)
4.注释
有些选手本地调试时会将这两句注释掉,先在终端进行调试。
然而忘了删掉注释。。。
又或者,本地调试的时候 为了看到变量的变化 而进行了题目中没有要求的输出,然而提交时忘了注释掉:
5.空间限制
你有没有认真看过题目pdf的第一页?
欸…怎么没人说话?
有些同学为了防止下标越界而特意将数组开得很大,然而第一页上的空间限制不允许TA这么做
或者数组开小了,喜提RE一枚。。。。
6.测试环境不同
惊不惊喜,意不意外?
尾声
谢谢阅读
想要避免爆零?
想要参加CSP模拟?
广告
↑
OI-Contest了解一下