在信息学竞赛中,当我们写出了我们认为是正解的代码,却不知道是否正确是,怎么办?
我们知道样例是靠不住的,样例是只要是个算法都能过的,我们可以用一种更可靠的方式来验证–对拍。
对拍:
对拍的原理就是:把你写的程序与暴力(或者正确性更高的)程序进行比对,来验证你的程序的正确性。
两种方法:
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
就好了啊