在一些特殊的比赛中,我们需要用一个暴力程序来验证一个采取了高效算法的程序是否正确,所以就有了对拍。
对拍程序:
@echo off :loop rand.exe>data.in std.exe<data.in>std.outmy.exe<data.in>my.out fc my.out std.out if not errorlevel 1 goto loop pause goto loop
将上面的程序保存为.bat文件。
下面是样例:
#include<stdio.h> #include<stdlib.h> int main() {int n;long int sum = 0;scanf("%d",&n);sum = n*(n+1)/2; printf("%d\n",sum);return 0; }
#include<stdio.h> int main() {int n;long int sum = 0;scanf("%d",&n);for(int i=1;i<=n;i++)sum+=i;printf("%d\n",sum);return 0; }
#include<stdio.h> #include<stdlib.h> #include<time.h> int main() {int n;srand((int)time(0)); n = 1 + rand()%10000; printf("%d\n",n); return 0; }
把上面三个cpp编译后生成.exe文件后和.bat放在一个目录,运行.bat。
注:此方法仅限于windows系统。