对拍
介绍一下这种利用暴力算法,随机造数据来验证自己的奇技淫巧的好方法.
(众所周知,对拍是用来造数据的)---来自lcez的信息教练
其实对拍是在考场上的一种很优秀的方式.
首先我们要写出一个保证正确性的代码,利用爆搜啊,打表啊,递归啊等不符合时间,空间复杂度但是可以保证正确性的暴力算法
然后,写一个不会超出题目数据范围的一个随机数生成代码.以及你想用的奇技淫巧
最后是一个简简单单的对拍代码
for(int i=1;i<=500;i++)
{
system("make_data.exe > make_data.txt");//生成数据
system("std.exe < make_data.txt > std.txt");//跑暴力
double begin=clock();
system("qjyq.exe <make_data.txt > qjyq.txt");//跑奇技淫巧
double end=clock();
//begin和end存储的是开始运行时间和结束时间
if(system("fc qjyq.txt std.txt"))//fc是比较两个结果相不相同的一个函数
{puts("Wrong answer");
return 0;}
else
printf("Accepted 测试点#%d 用时 %.0lfms
",i,end-begin);
}
当然你也可以使用cmd去满足以上需求.