在信息学竞赛中,当我们写出了我们认为是正解的代码,却不知道是否正确是,怎么办?
我们知道样例是靠不住的,样例是只要是个算法都能过的,我们可以用一种更可靠的方式来验证–对拍。
对拍:
对拍的原理就是:把你写的程序与暴力(或者正确性更高的)程序进行比对,来验证你的程序的正确性。
两种方法:
PS:两种方法都要用到Windows批处理文件和随机数生成器
1:
运行暴力与你的程序源代码,把生成的exe文件放入同一文件夹。
在此文件夹中打开文本文档,输入:
:again
data > input
.txt
my < input
.txt > biaoda_output
.txt
std < input
.txt > test_output
.txt
fc biaoda_output
.txt test_output
.txt
if not errorlevel
1 goto again
pause
2:
生成两个程序的输出文件
创建bat文件,代码改为:
@echo off
fc
1.txt
2.txt
pause
就好了啊