前言
周五晚上(2019/9/13),作者打了一场比赛,结果因为写了一个假的对拍而导致$DP$爆零。
因此,就有了这篇文章。
对拍的组成
对拍程序一般由$4$个部分组成,分别是暴力程序,正解,数据生成器,对拍器。
其中,暴力程序必须保证其正确性。
对拍的写法
此程序在Windows 10 1903版本下亲测可用,如果您使用的电脑系统为Mac或Ubuntu,请自行修改。
Code:
|
不用理解,直接背就行
对拍的使用
首先,你需要在自己的桌面上建立一个名为Same的文件夹

Same文件夹内需要包含$4$个文件,分别是您的暴力,正解,数据生成器和对拍程序。在这里对应文件夹中的a.cpp,b.cpp,data.cpp,Same.cpp。

其中,a.cpp与b.cpp需要加上文件输入输出,读入的文件均为try.in,输出的文件分别为try1.out与try2.out,data.cpp需要向try.in中输入数据。
在一切就绪之后,我们运行a.cpp,b.cpp,data.cpp,这时,文件夹里会多出以下文件。

之后运行Same.cpp,这时,对拍程序即开始运行。如果对拍成功,会显示以下界面

如果出现错误,会显示以下界面:

这时,我们就可以收集try.in中的数据,用来调试我们的正解。
后记
但要注意,对拍只可以对小数据进行调试,暴力无法跑出大数据。
因此,我们要注意对于边界条件的检查与把控,不要出现数组越界的情况。
另外,对拍不一定能随机到有强度的数据,特别是在图论题中。
因此,对于数据量小的极限数据,我们还是要自己手动制作。






