造数据指南

众所周知,rand生成的随机数最大值RAND_MAX是 library-dependent 的,在 Windows(MinGW) 下是 32767,因此跑不出比较大的随机数。

作为一个mac用户,感受不到这个区别,所以其实rand+freopen经常用的。

如果是window系统的话,建议使用mt19937.

造数据步骤

需要的东西有三样:

  • 数据生成器
  • 脚本
  • 标称

如果用python的话,就比较方便。先搞一个python数据生成器。

import random
print(random.ranint(1, 1000))

然后是标称
写完标称就需要先编译。图中的work就是编译后的

接着是脚本

#!/bin/bash
for ((i=1;i<=2;i++));
do
python3 gen.py > $i.in
./work <$i.in >$i.out
done

其中用python去生成数据,然后用work来输出。

如果说已经有数据,那么直接把python3 生成数据给注释掉就行了。

最后在终端跑一下就行了
我第一行表示切换到当前文件夹里

cd /Users/i/Downloads/xxx 
chmod +x gen.sh           
./gen.sh 

最后

注意的是,数据一定要拉满,且手动加几组特殊的数据。然后交题是记得加assert,防止数据范围出问题

I‘m Stein, welcome to my blog
原文地址:https://www.cnblogs.com/Emcikem/p/14317589.html