对拍脚本
chmod +x duipai.sh
duipai.sh
#!/bin/bash
t=0;
while true; do
let "t = $t + 1"
printf $t
printf ":\n"
./rand > rand.txt
./my < rand.txt > my.out
./brute < rand.txt > brute.out
if diff my.out brute.out; then
printf "\n"
else
printf "WA\n"
cat rand.txt
break
fi
done
run.bat
:loop
@echo off
gen.exe > in.txt
my.exe < in.txt > myout.txt
std.exe < in.txt > stdout.txt
fc myout.txt stdout.txt
if not errorlevel 1 goto loop
pause
std.cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << a + b << endl;
return 0;
}
my.cpp
#include <bits/stdc++.h>
using namespace std;
//这是一个错误程序
int main() {
int a, b;
cin >> a >>b;
if (a > 130 && b > 130) {
cout << a - b << endl;
} else {
cout << a + b << endl;
}
return 0;
}
gen.cpp
#include <bits/stdc++.h>
using namespace std;
// 返回0到x-1之间的随机数
// rand()函数返回 0-32767之间的一个随机数
int get_rand(int x) {
return rand() * rand() % x + 1;
}
//返回L 到 R之间的整数
int get_rand(int L, int R) {
return rand() * rand() % (R-L+1) + L;
}
int main() {
//初始化随机种子
srand(time(0));
int a, b;
//生成一组随机数据
a = get_rand(1, 200);
b = get_rand(1, 200);
cout << a << " " << b <<endl;
return 0;
}