ACM竞赛如何写好对拍,从而减少罚时

对拍

1.准备工作:
新建一个文件夹,里面新建:
std.cpp(用来存你要提交的代码) 、
baoli.cpp(用来存正确的暴力代码)、
check.txt(用来存检验代码)、
mkd.cpp(用来生成数据)、
1.txt(用来存证明你即将提交代码错误的数据)、
2.txt(用来存被检验代码运行后的结果)、
3.txt(用来存暴力运行出的正确结果)。
2.检验代码:
g++ mkd.cpp -o mkd -g
g++ std.cpp -o std -g
g++ baoli.cpp -o baoli -g
: loop
	mkd.exe > 1.txt
	std.exe < 1.txt > 2.txt
	baoli.exe < 1.txt > 3.txt
	fc 2.txt 3.txt
if not errorlevel  1 goto loop 

pause

goto loop
3.把上面代码粘贴到check.txt以后把后缀改成batcheck.bat
4.把被检验代码、暴力代码、生成数据代码准备好以后,直接点击check.bat,会一直跑数据,知道发现你的程序错误为止,错误数据就存在1.txt里面。
5.随机数的生成:
srand(time(0));//一定要写这个,不然生成的数据都一样
int xx = rand() % (x) + 1;//生成一个[1, x]范围内的整数
cout << xx << '\n';
如果需要负数,则再随机数后面减去一个正数,比如:
//生成一个[-5, 5]范围内的数
int xx = rand() % (10) + 1 - 5;
cout << xx << '\n';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值