對拍
對拍的原理是:透過暴力程式和自己的程式輸出對比來檢查自己程式的錯誤。
好打的模板:
#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;
}