0712 插曲 對拍

2021-08-21 10:03:17 字數 845 閱讀 3336

今天下午的時候聽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檔案。首先我們先建立乙個資料夾,在資料夾裡新建乙個...