对拍
对拍的原理是:通过暴力程序和自己的程序输出对比来检查自己程序的错误。
好打的模板:
#include <cstdio>
#include <cstdlib>
int main() {
int T=100;
while (T--) {
system("data.exe"); // 数据生成器将生成数据写入输入文件
system("std.exe"); // 获取程序1输出
system("baoli.exe"); // 获取程序2输出
if (system("fc std.out std.ans")) {
// 该行语句比对输入输出
// fc返回0时表示输出一致,否则表示有不同处
system("pause"); // 方便查看不同处
return 0;
// 该输入数据已经存放在test.in文件中,可以直接利用进行调试
}
}
}
简易 checker
这个简易 checker
是用来查出自己程序输出和样例答案不同的地方,考场上,靠裸眼不一定能发现自己程序输出和样例答案不同的地方,这时候就可以写一个简易 checker
。
好打的模板:
//适用于多行输出,且每行输出只有一个数字。
#include<bits/stdc++.h>
using namespace std;
#define int long long //看数据范围
int n/*输出行数*/,a[100010]/*每行输出的数*/;
signed main(){
freopen("std.out","r",stdin); //此时需要把输出文件和答案文件整理道同一个文件中,第一行写输出文件的行数,然后写输出文件和答案文件。
freopen("result.txt","w",stdout);
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
int x;
cin>>x;
if(x!=a[i]){
cout<<"WA";
return 0;
}
}
cout<<"AC";
return 0;
}
标签:std,输出,技巧,文件,int,程序,system,考场,调试
From: https://www.cnblogs.com/awmmmmmm/p/18494316