windows對拍及其應用

2022-05-23 15:36:09 字數 1460 閱讀 3633

warn!

#include在oi等裡面不一定能應用,下面只是為了減小長度而已

bits庫實際上就是#include了一堆而已

目錄目錄

對拍.bat

:loop

makedata.exe

k.exe

kture.exe

fc a.out b.out

if %errorlevel%==0 goto loop

pause

解釋

:loop
建立叫做loop的標籤

makedata.exe

k.exe

kture.exe

執行makedata.exe,k.exe,kture.exe

其中makedata輸出到x.in,然後k.exe從x.in讀入,輸出到a.out,ktrue.exe從x.in讀入,輸出到b.out

fc a.out b.out

if %errorlevel%==0 goto loop

pause

比較a.out b.out

fc是windows下面乙個程式,簡單來說如果兩個檔案相同返回0,不同返回1

%errorlevel%是乙個變數,意思是上一行**的返回值

如果 返回==0 跳轉到loop(第一行標籤)

如果 返回不等於0 跳過這句話,執行pause(暫停),然後程式結束

:loop

echo %random%|data.exe

baoli.exe

mine.exe

fc mine.out baoli.out

if %errorlevel%==0 goto loop

pause

輸出測試資料到in.in

#include using namespace std;

int main()

}else

}if(w>0)

}else

}cout《自己的程式或者測試的程式

為了顯示功能,這裡是隨機出錯。。

#include using namespace std;

int main(){

int q,w;

freopen("in.in","r",stdin);

freopen("mine.out","w",stdout);

cin>>q>>w;

srand(time(0));

int r=rand()%20;

if(r>=10){

cout《最後雙擊duipai.bat即可看到效果

對拍程式應用

利用rand 函式寫隨機數 樣例就用個比較簡單的演示 首先是對拍的批處理檔案dos命令 1 loop 2 make.exe data.txt 是隨機資料生成器程式 3 std.exe data.txt std.txt 標程程式 4 myself.exe data.txt ans.txt 自己的程式 ...

Windows批處理程式對拍

在做演算法類競賽的題目的時候,容易想到乙個樸素的能保證完全正確的演算法,但是會超時。而高效的演算法又不能保證完全寫對。這時候可以自己寫乙個樸素的演算法 乙個資料生成程式和乙個檔案比較程式進行驗證高效演算法的正確性。在windows下,fc命令提供了比較檔案的功能,雖然批處理不如linux下的bash...

Windows下批處理對拍程式

echo off again data input 生成隨機輸入 aoutput.a boutput.b fc output.a output.b 比較檔案 ifnot errorlevel 1 goto again 相同時繼續迴圈注 以上部分來自演算法競賽入門經典第二版附錄 再來乙個卿爺的對拍程式...