CSP-J复赛“防爆零”手册

CSP-J复赛“防爆零”手册
(2025年10月版 · 选手随身版)

一、一句话看懂“爆零”

代码能过样例≠有分。
只要评测时找不到你规定的 .in/.out 文件,或文件名、路径、大小写出错,评测系统直接判 0 分,这就叫“爆零”。

二、10 大高频爆零坑

  1. 没写 freopen 或写错参数
    错:freopen("a.in","read",stdin);
    对:freopen("a.in","r",stdin); // 字母 r、w 必须小写

  2. 文件名与题目不一致
    题目叫 apple,你写成 Apple.cpp / APPLE.cpp / apple.cpp.cpp

  3. 文件夹层级错
    正确:考号目录下再建 4 个题号子目录,cpp 放在对应子目录里

  4. 把 .in/.out 也塞进提交包
    多数省份禁止,多文件即 0 分

  5. 调试输出没删
    printf("debug\n"); 评测会当成答案,直接 WA 0 分

  6. 数组越界 / 局部变量未初始化
    本地能跑,评测机一开 AddressSanitizer 直接 RE 0 分

  7. 开了 1e8 以上大数组
    编译通过,运行瞬间 MLE 0 分

  8. 用万能头却写错
    #include<bits/stdc++.h> 打漏 s 或分号,编译失败 0 分

  9. main 返回值不是 int 或没 return 0;
    部分 OJ 直接 CE 0 分

  10. 交卷前只留 exe,cpp 被清理
    监考老师回收不到源码,0 分

三、考场 15 分钟“保分”流程

  1. 进场先建“工程骨架”
    D:\FJ-J0001\ ← 用准考证号命名
    ├─ apple\
    ├─ road\
    ├─ bus\
    └─ math\

  2. 每道题 3 文件
    apple.cpp apple.in apple.out // in/out 用来本地对拍
    注意:最终只留 cpp,in/out 必须删除!

  3. 代码模板(直接复制)

#include <bits/stdc++.h>
using namespace std;
int main(){
    freopen("apple.in","r",stdin);
    freopen("apple.out","w",stdout);
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    // 你的代码

    return 0;
}

写完先编译 → 运行 → 手工比对 apple.out,确认无误后
把两行 freopen 注释掉再测一次,防止本地死循环。

  1. 最后 10 分钟“保分检查单”
    ☐ 文件夹、cpp 名 100% 匹配题目英文
    ☐ freopen 行已取消注释并保存
    ☐ 没有额外 printf/cout 调试语句
    ☐ 数组大小 ≤ 128 MB(约 3.3×10^7 个 int)
    ☐ g++ 编译零警告(-Wall 开警告)
    ☐ 删除全部 .in/.out,只剩 .cpp
    ☐ 退出前再按一次 Ctrl+S,看监考老师点头

四、常见疑问速答

Q1 能带模板吗?
A 只能带“纸质”模板,电子文件禁止。建议把 freopen、快读、并查集、线段树模板提前抄在一张 A4 正反两面,入场放在键盘边。

Q2 评测时 Linux 大小写敏感,Windows 不敏感,怎么办?
A 本地写完后,用虚拟机或 NOI Linux 2.0 镜像跑一遍;没条件就手动把文件名全部改成小写再测。

Q3 样例全过,赛后官方数据只有 30 分?
A 说明你算法复杂度或边界处理有误。防爆零只解决“0 分”问题,想拿高分仍需多组自造极端数据+对拍。

五、1 页 A4 速记卡(打印带走)

  1. 文件夹:考号→4 题英文名→只放 .cpp

  2. freopen 必双引号小写 r w,文件名=题面英文名

  3. 删调试输出、删 .in/.out、删 fclose

  4. main 必须 int,最后 return 0;

  5. 交卷前 10 min 停笔,只执行“保分检查单”

六、延伸阅读

  • 《2024 CSP-J/S 复赛防爆零指南》图文版

  • 《CSP-JS 复赛避坑指南》文件夹示例

祝各位选手 2025 复赛 0 失误,RP++!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值