目录
1.优先队列BFS数据生成器
2.暴力程序
3.你的正解
4.对拍程序
5.模板
数据生成器
1.rand函数
Windows系统下调用rand()会随机返回一个1~32767的整数
注意,rand()函数的生成值默认是相同的,即无论第几次调用该程序,rand()的返回值总是一个相同的随机序列。
而我们对拍时,肯定要求生成多组随机数据来求解并进行比较,仅生成一组数据无法保证正解的正确性。
2.srand函数
srand(x)表示将x作为随机种子,rand()生成的随机序列与x相关,x一定rand()的生成值也就一定
3.time函数
time(0)返回当前时间到1970年代某一个时刻的时间差,单位为秒
数据生成器技巧
1.在程序开头使用srand(time(0))可以保证每一秒生成的数据均不同
2.如果对拍的速度很快,一秒内会执行多次对拍,那么我们为了加快检验速率,可以使用srand(time(0)+A),其中A是一个一直改变的常数,从记事本中读入,每次运行完数据生成器,将A+=233,再输入到记事本中。这样可以保证每次的A均不相同,每次生成的数据也不相同了
具体实现
freopen("seed.in","r",stdin);
int A;cin>>A;
srand(time(0)+A);
freopen("test