啊???为什么示例都过了,就是wa了呢,绝对是题目有问题
既然不是题目问题,又无示例可用,就该用对拍找错误数据了,虽然用处不大
在翻阅很多网址和向学长要对拍模板后,终于得到了一个自己还用的顺的!!!
下面是对拍的建立过程:(随便放哪吧,我就放U盘里
1.用记事本建立以下几个文件(makedata,run,std,test),将makedata,std,test文件后缀名改为cpp
2.将以下代码copy进run.txt中,并将后缀名改为bat
g++ test.cpp -o test
g++ std.cpp -o std
g++ makedata.cpp -o makedata
:loop
makedata
test
std
fc std.txt test.txt
if %errorlevel%==0 goto loop
pause
初步对拍就这样建立完成了;;接下来是怎么用(so easy
1.将你自己写的,需要测试的代码放入名为test的文件中,并在int main(){ }加入如下代码:
freopen("in.txt", "r", stdin);
freopen("test.txt", "w", stdout);
eg:
2.将正确代码放入名为std的文件中,并在int main(){ }加入如下代码:
freopen("in.txt", "r", stdin);
freopen("std.txt", "w", stdout);
eg:
3.在makedata文件中贴入你构造数据的代码,并在int main(){ }加入如下代码:(值得注意的是,这个文件要把随机数输出
freopen("in.txt", "w", stdout);
eg:
4.点击run.bat运行即可,遇到错误的数据程序会停止,你的错误输出数据在test.txt中,正确数据在std.txt中,输入的随机数据保存在makedata.txt中
*makedata,run,test,std的名字是可以更改的,但对应的run.bat文件中的代码也要做对应的更改(如果你觉得我给的名字不好听的话
run.bat中含自动编译的头文件,不需要在编译器中先编译一遍了(懒人必备好伐
以下和对拍无关
但实际上,作为写5个小时算法题,4个小时在debug的菜鸟,还是觉得另一种检查方法更加好用,相信你也用过
就是在每一个你觉得可能出现错误的代码片段之后随即输出,这样你就可以快速的找到错误代码片段(一般来说,这不比调试好用???这不比对拍好用???
所以对拍好在哪?不就是防止你大脑缺氧,两眼一黑。水题时在内心告诉自己,wa了没事,我们还有最后一道防线,然后对照错误数据开始了漫长的补丁之旅... ...
最后一点,因为我的板子也给一些人直接跑过,一般的MinGW应该是没问题的吧???如果无法识别就只能把自动编译的头文件删了,然后手动用编译器编译了