实战技巧--对拍

yzh老师在清北学堂最后一天教的对拍:

  1. 创建一个文件夹

  2. 将你要对拍的源代码copy进去(例:test.cpp)

  3. 将你写好且确定无误的暴力代码也放进去,注意两者名字要有所区别(例:test__.cpp)

  4. 搞一个生成数据的代码(例:mkdata.cpp)

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#define For(i,l,r) for(int i=l;i<=r;i++)
int main(){
    freopen("coin.in","w",stdout);
    srand(time(0));
    int n = 1000; 
//  printf("%d\n",n);
    For(i,1,n) printf("%lf %lf\n",(rand()%200+100)/100.0,(rand()%200+100)/100.0);
}

这段代码能生成n行每行两个大于1,

且在1~3之间的高精浮点数
(佬师太喜欢用宏定义了)

  1. 最后撸个bat脚本
:loop
    mkdata
    test
    test__
    fc test.out test__.out
    if errorlevel == 1 pause
goto loop

loop表示循环,然后是你要打开的.exe

所以注意,在打开脚本前我们一定要先运行一遍代码生成.exe。

fc是用来文件比较,

若有不符它就会暂停输出行字,具体还请读者实现。

猜你喜欢

转载自www.cnblogs.com/Rye-Catcher/p/8962706.html