- kkkw 的博客
-
赛场上实现自动与大样例比对
- @ 2025-10-30 9:51:13
准备工作
-
1.写出自己的代码,注意不要使用文件输入输出
-
2.运行这份代码,比如xx.cpp运行后,会在当前目录生成一个xx.exe文件,这是一个可以直接运行的可执行文件,其效果就是自己写的cpp的运行效果。
-
3.将生成的exe文件与大样例xx.in,xx.ans放在同一个目录下。
checker 检查器 接下来开始写checker.cpp,其基础代码格式如下:
#include<bits/stdc++.h>
int main(){
system("a.exe < b.in > b.out");//将b.in作为输入,将b.out作为输出,运行a.exe,运行结束后会自动生成b.out文件,无需创建
system("fc b.out b.ans");//将b.out与b.ans进行比对,若相同则返回0,不同则返回1。
}
将checker.cpp也放在同一个目录下,直接编译运行就可以在控制台看到一个显而易见的比对结果。 接下来是一个模板,展示如何放置题目给的大样例文件与对拍文件。

在上述目录中,编译运行checker.cpp,即可比对大样例与答案。 进阶用法:
system("fc /N /LB1 b.out b.ans");//当比对有差异时,仅显示差异行的行号及该行内容,不显示比对成功的内容。
效果:只显示了结果不同的行号及该行内容,不显示比对成功的内容。

本篇文章被评分为:
100