这里提供一个数据生成器和对拍程序, 数据比较随机, 但是判断对错已经足够。
#include <cstdio>
#include <random>
using namespace std;
mt19937 r(time(0));
const int MOD = 2e5;
int rnd(int MOD, int flag){
if(flag == 1)
return r() % MOD - (MOD >> 1);
else
return r() % MOD;
}
int main(){
freopen("1.in", "w", stdout);
const int n = 1e5, m = 1;
printf("%d\n", n);
for(int i = 1; i <= n; ++i){
printf("%d ", rand(MOD));
}
printf("\n%d\n", m);
for(int i = 1; i <= m; ++i){
int l = rnd(n, 0) + 1, r = rnd(n, 0) + 1;
if(l > r) swap(l, r);
printf("%d %d\n", l, r);
}
return 0;
}
#include <cstdio>
#include <string>
using namespace std;
auto f(string s){
return system(s.c_str());
}
int main(){
freopen("1.in", "r", stdin);
int tot = 1000;
for(int i = 1; i <= tot; ++i){
f("./md"), f("./my"), f("./ac");
if(f("diff my.out ac.out")){
printf("wa");
return 0;
}
}
printf("ok");
return 0;
}