技巧--对拍

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是用来文件比较,

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

posted @ 2018-02-24 17:31  Rye_Catcher  阅读(133)  评论(0编辑  收藏  举报