windows對拍及其應用

來源:互聯網
上載者:User

標籤:windows   names   std   bat   自己   比較   time   樣本   color   

目錄

  • 經典代碼
  • 樣本
    • duipai.bat
    • data.exe
    • baoli.exe
    • mine.exe

WARN!
#include <bits/stdc++.h>在OI等裡面不一定能應用,下面只是為了減小長度而已
bits庫實際上就是#include <XXX>了一堆而已

目錄

經典代碼

對拍.bat

:loopmakedata.exeK.exeKture.exefc a.out b.outif %errorlevel%==0 goto looppause 

解釋

:loop

建立叫做loop的標籤

makedata.exeK.exeKture.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.outif %errorlevel%==0 goto looppause 

比較a.out b.out
fc是windows下面一個程式,簡單來說如果兩個檔案相同返回0,不同返回1
%errorlevel%是一個變數,意思是上一行代碼的傳回值
如果 返回==0 跳轉到loop(第一列標籤)
如果 返回不等於0 跳過這句話,執行pause(暫停),然後程式結束

樣本duipai.bat
:loopecho %random%|data.exebaoli.exemine.exefc mine.out baoli.outif %errorlevel%==0 goto looppause 
data.exe

輸出測試資料到in.in

#include <bits/stdc++.h>using namespace std;int main(){    int rands;    freopen("in.in","w",stdout);     cin>>rands;    srand(rands);//隨機數種子,一會再說     cout<<rand()<<" "<<rand();    return 0;}

由於windowsCPP的特性,srand(time(0))一秒只有一個種子,而自己的程式不會太慢,所以直接輸入一個種子即可
echo %random%|data.exe裡面,是%random%是一個隨機數(由duipai.bat解析器cmd.exe隨機,每次都是隨機的)
|是管道運算,把前面命令應該顯示的東西作為標準輸入給後面的,echo XXX是顯示XXX
這句話意思是把%random%(叫做random的變數,在沒有手動聲明其值時,每次調用都是隨機數)輸入給data.exe

baoli.exe

一個已知正解的程式,比如包括暴力求解程式,別人、網上的正解等

#include <bits/stdc++.h>using namespace std;int main(){    int q,w;    freopen("in.in","r",stdin);    freopen("baoli.out","w",stdout);     cin>>q>>w;    int ans=0;    if(q>0) {        for(int i=1;i<=q;i++){            ans++;        }    }else{        for(int i=-1;i>=q;i--){            ans--;        }    }    if(w>0) {        for(int i=1;i<=w;i++){            ans++;        }    }else{        for(int i=-1;i>=w;i--){            ans--;        }    }    cout<<ans;    return 0;}
mine.exe

自己的程式或者測試的程式
為了顯示功能,這裡是隨機出錯。。

#include <bits/stdc++.h> 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<<q+w+1;    }else{        cout<<q+w;    }    return 0;}

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

windows對拍及其應用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.