Wankupi's Website

CSP2020 HE 迷惑行为

前言

俗话说,错误能使人进步。本文依据公开的选手源代码,整理了HE的oier们出现的一些错误。并不是针对某个选手,仅是想找到一些普遍的错误,以为警戒。同时欢迎各位将自己的更细微(不能直接看出来的)错误投稿。对所有为本文有贡献的oier表示感谢!对所有为梦想拼搏的oier们表示祝福!


文件系列

注释freopen人(其中有4例除外,是注释里有注释掉的freopen)

写反(错)文件读入方式人

外人

读答案人

毒蛇人

吃小人

snkaes人

sankes & 额外文件人

随机骗分失败人

符号错误人

无事发生人

多余文件人(虽然没问题..

//"人"

无名人

关闭指定文件人

双号人


超大数组人

高维人

___带师

没有文件输入输出 & 630行大佬

pinyinren(还拼错了
ask(hanshu[f].C); // buziruhechuli"3"dezhezhongqingkuang,xiangtongguo vector jiejue;

OR人

Windows人


统计了一下HE一共有319个文件夹上传,其中有235人次找不到源文件...70人次编译失败(应该编译返回值是1就是失败吧...?)...惨...以下公开处刑...(误

程序(bash)

编译结果
HE-00001 : [ call CE ]
HE-00002 : [ call no file ]
HE-00003 : [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00004 : [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00005 : [ zoo no file ]
HE-00006 : [ snakes no file ]
HE-00007 : [ snakes no file ]
HE-00008 : [ zoo CE ]
HE-00009 : [ call no file ]
HE-00010 : [ zoo no file ] [ call no file ]
HE-00014 : [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00015 : [ snakes no file ]
HE-00016 : [ call no file ]
HE-00018 : [ call no file ] [ snakes no file ]
HE-00019 : [ zoo no file ]
HE-00020 : [ call no file ] [ snakes no file ]
HE-00021 : [ call no file ]
HE-00022 : [ call no file ] [ snakes no file ]
HE-00023 : [ call CE ] [ snakes CE ]
HE-00024 : [ call no file ]
HE-00027 : [ snakes no file ]
HE-00028 : [ call no file ]
HE-00029 : [ zoo CE ] [ call CE ]
HE-00030 : [ zoo CE ] [ call no file ]
HE-00031 : [ zoo no file ] [ call no file ]
HE-00034 : [ julian no file ] [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00036 : [ snakes no file ]
HE-00037 : [ call no file ]
HE-00039 : [ call CE ] [ snakes CE ]
HE-00041 : [ zoo no file ]
HE-00042 : [ julian CE ] [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00045 : [ snakes no file ]
HE-00046 : [ julian no file ] [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00048 : [ call CE ]
HE-00049 : [ zoo no file ] [ call CE ]
HE-00051 : [ zoo no file ] [ snakes no file ]
HE-00052 : [ call no file ] [ snakes no file ]
HE-00053 : [ call CE ]
HE-00056 : [ julian no file ] [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00057 : [ call CE ]
HE-00059 : [ julian no file ] [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00063 : [ snakes no file ]
HE-00064 : [ julian CE ] [ zoo no file ] [ call CE ] [ snakes no file ]
HE-00067 : [ julian no file ] [ snakes no file ]
HE-00070 : [ julian no file ]
HE-00072 : [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00073 : [ snakes no file ]
HE-00075 : [ julian no file ] [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00076 : [ snakes no file ]
HE-00080 : [ julian CE ] [ zoo CE ]
HE-00082 : [ call no file ] [ snakes no file ]
HE-00083 : [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00085 : [ call no file ]
HE-00086 : [ snakes no file ]
HE-00088 : [ snakes no file ]
HE-00089 : [ snakes CE ]
HE-00095 : [ julian CE ] [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00096 : [ call no file ]
HE-00097 : [ snakes no file ]
HE-00099 : [ julian CE ] [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00101 : [ call no file ]
HE-00103 : [ snakes no file ]
HE-00107 : [ call no file ]
HE-00110 : [ julian CE ] [ call no file ] [ snakes no file ]
HE-00113 : [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00115 : [ snakes no file ]
HE-00117 : [ julian CE ] [ zoo CE ] [ call CE ] [ snakes no file ]
HE-00119 : [ call no file ] [ snakes CE ]
HE-00123 : [ zoo no file ] [ snakes no file ]
HE-00127 : [ call no file ] [ snakes no file ]
HE-00134 : [ snakes CE ]
HE-00138 : [ zoo CE ] [ call CE ] [ snakes CE ]
HE-00139 : [ call no file ]
HE-00141 : [ zoo CE ]
HE-00144 : [ julian no file ]
HE-00146 : [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00147 : [ call no file ] [ snakes CE ]
HE-00149 : [ call CE ]
HE-00150 : [ snakes no file ]
HE-00153 : [ snakes CE ]
HE-00158 : [ zoo no file ] [ call no file ] [ snakes CE ]
HE-00159 : [ zoo no file ] [ call no file ]
HE-00163 : [ snakes no file ]
HE-00164 : [ zoo no file ] [ call no file ]
HE-00165 : [ call CE ] [ snakes CE ]
HE-00167 : [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00168 : [ zoo CE ]
HE-00169 : [ zoo CE ]
HE-00170 : [ call no file ]
HE-00171 : [ call no file ]
HE-00173 : [ call no file ] [ snakes no file ]
HE-00174 : [ julian no file ] [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00175 : [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00178 : [ zoo no file ]
HE-00180 : [ snakes CE ]
HE-00181 : [ call no file ] [ snakes no file ]
HE-00182 : [ snakes no file ]
HE-00183 : [ call no file ] [ snakes no file ]
HE-00185 : [ julian no file ] [ zoo no file ]
HE-00186 : [ zoo CE ] [ snakes no file ]
HE-00188 : [ call no file ] [ snakes no file ]
HE-00190 : [ julian CE ] [ snakes no file ]
HE-00197 : [ julian CE ] [ snakes no file ]
HE-00199 : [ call no file ] [ snakes no file ]
HE-00200 : [ snakes no file ]
HE-00201 : [ call no file ] [ snakes no file ]
HE-00202 : [ julian CE ] [ snakes no file ]
HE-00205 : [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00206 : [ call no file ] [ snakes no file ]
HE-00207 : [ snakes CE ]
HE-00208 : [ julian CE ] [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00209 : [ snakes no file ]
HE-00213 : [ julian no file ] [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00215 : [ snakes no file ]
HE-00216 : [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00220 : [ julian CE ]
HE-00221 : [ zoo no file ] [ snakes no file ]
HE-00222 : [ snakes no file ]
HE-00223 : [ call no file ]
HE-00224 : [ zoo no file ]
HE-00226 : [ call CE ]
HE-00228 : [ zoo no file ] [ call CE ]
HE-00229 : [ zoo CE ] [ snakes no file ]
HE-00234 : [ snakes no file ]
HE-00235 : [ snakes no file ]
HE-00238 : [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00240 : [ zoo CE ] [ call CE ]
HE-00242 : [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00243 : [ snakes no file ]
HE-00244 : [ call no file ]
HE-00245 : [ zoo CE ]
HE-00246 : [ call no file ] [ snakes no file ]
HE-00247 : [ zoo CE ] [ call no file ] [ snakes no file ]
HE-00249 : [ julian CE ] [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00250 : [ snakes no file ]
HE-00252 : [ call no file ]
HE-00255 : [ call no file ] [ snakes no file ]
HE-00257 : [ zoo no file ] [ snakes no file ]
HE-00258 : [ zoo no file ] [ call no file ]
HE-00261 : [ julian no file ] [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00263 : [ julian CE ] [ zoo CE ]
HE-00264 : [ call no file ]
HE-00266 : [ call CE ] [ snakes no file ]
HE-00267 : [ call no file ]
HE-00268 : [ zoo no file ] [ call no file ] [ snakes no file ]
HE-00273 : [ snakes no file ]
HE-00274 : [ zoo CE ] [ call no file ]
HE-00276 : [ zoo no file ] [ call no file ]
HE-00280 : [ snakes no file ]
HE-00282 : [ zoo no file ] [ call no file ]
HE-00283 : [ julian CE ]
HE-00286 : [ call no file ]
HE-00289 : [ call no file ] [ snakes no file ]
HE-00290 : [ snakes no file ]
HE-00291 : [ snakes no file ]
HE-00293 : [ julian no file ] [ call no file ] [ snakes CE ]
HE-00294 : [ julian no file ] [ call no file ]
HE-00300 : [ zoo no file ] [ call no file ]
HE-00301 : [ snakes no file ]
HE-00302 : [ snakes no file ]
HE-X0001 : [ call no file ] [ snakes no file ]
HE-X0005 : [ zoo CE ] [ call CE ] [ snakes CE ]
HE-X0007 : [ call CE ] [ snakes no file ]
HE-X0008 : [ call CE ] [ snakes CE ]
HE-X0010 : [ zoo CE ] [ snakes CE ]
HE-X0012 : [ call CE ]

CE 错误总结

摘选了一些比较有代表性的错误。

  • 静态数组的大小必须在编译时已知。变量一般得有个名字。以下代码中数组g的和某大数组的声明不合法。
cpp
struct M{
int f,fa,fb,fc,fd;
int g[fd];
}[100005];

这还引出一个问题,g++编译时,局部数组的大小是可以用变量的。但这其实是非法的行为,不可移植。

  • 忘加分号。(一份输出样例的代码因此编译失败

  • 没有声明变量就使用,或是变量不可达。(这不是python或是js!!

  • 函数实参和形参不匹配(数量,类型),比如 fclose("julian.in",stdin); 来自一份打表代码,不然能有点分。

  • 超大数组(即便题目没有空间限制,计算机内存也是有限的...过大无法寻址) int a[100000000000000]; 。

  • 非数组当成数组用...一维数组当二维用...

  • 提前结束了块

cpp
for (int i = 0; i < Q; i++) {
cin >> r[i];
}
if (r[i] == 10) {
  • 括号不匹配

  • main返回值必须是int。 long long main() {

  • 命名冲突。如同时using namespace std和使用next做变量名...

  • 手滑: if(n==2&&&m==2&&c==4&&k==3)

  • 不存在的类型转换。 srand(int(new char)); 首先使用new出来的地址做随机种子这种行为是危险且不负责的。建议开long long转换。c风格类型转换也是不推荐的。

  • 定义类型后要加分

  • == 和 =

  • NULL为0,而null不存在。 srand(time(null) - 1919810 + 114514 + 19260817);

  • time函数接收的是一个指向time_t类型对象的指针。 srand(time(19260817));


HE-00222

感谢投稿。