今天下午的時候聽yyy學長講了講對拍,下面總結一下下
大概就是拿你自以為的正解與你實實在在寫的暴力,進行輸出比較。相當於與標答進行比較(前提你的暴力是正確的)然後發現不同的地方,對「正解」程式進行修改,這樣可以提高你演算法的正確性。
首先你要有輸入資料吧,而且必須是隨機的,按照題目要求的輸入。那麼我們就需要乙個make.cpp啦,其作用就是生成隨機資料
然後把「正解」和暴力(都要用檔案輸入輸出哦,輸入檔案一樣但輸出檔案不能一樣)搞出來,和make放在乙個資料夾裡
接著你就可以人工比較啦
但怎麼可能那麼弱智,如果要拍十幾萬的資料呢?
所以我們需要乙個叫pia.bat的鬼東東,幫我們進行輸出的比較,並且在答案有不同的情況時反饋給我們
最後對拍就搞完啦~,具體操作細節如下
這個主要看題目要求(資料的格式及範圍)
重點是這個srand(time(0)),給隨機函式乙個種子(就是取計算機當前的時間)
然後輸出檔案這樣寫
freopen(" .in","w",stdin);
就記住模板就好啦
@echo off
:loop
make //隨機生成資料的cpp的名字
bf //暴力的名字
dance //正解的名字
fc dance.out bf.out //比較兩個輸出
if errorlevel 1 pause //如果不同,就停下
goto loop //否則繼續拍
就是不要拍太久了,差不多就行了。等會你拍久了,就會發生玄學錯誤,比如電腦宕機,發出bibibibi的聲音等,你最好別在考場上這樣搞
對拍方法 pascal
這次noip看到旁邊用c 那位對拍得好爽,自己也搜了一下對拍的方法,可惜多不適合pascal黨,所以我中和幾種方法,終於弄出了乙個用 命令提示符對拍的方法。首先要有乙個 百分百對的程式 我寫了個排序 a.pas varn,e longint a array 0.1000 of longint pro...
對拍程式寫法
一口毒奶 bat的寫法 echo off loop rand.exe in txt mycode.exe in txt myout.txt baoli.exe in txt baoliout.txt fc myout.txt baoliout.txt if not errorlevel 1 goto...
ACM程式對拍
刷過acm題的同學應該都有這種體會,感覺自己已經考慮的很充分了,但就是一直wa,這時候,如果有乙份能夠保證100 正確的 再加上題目資料比較好利用隨機數創造時,便可以使用對拍來找到錯在哪些資料上了。我們需要三個exe檔案加乙個bat檔案再加兩個txt檔案。首先我們先建立乙個資料夾,在資料夾裡新建乙個...