python3一鍵安裝nginx
阿新 • • 發佈:2021-10-18
前言
剛開始學 \(OI\) 的時候學過對拍,但是後來基本上沒有用過。
(暴力都不會寫什麼對拍)
臨近 \(CSP\) 稍微複習了一下,於是寫一篇部落格記錄一下(以後忘了還可以看)。
正文
方法
1. 準備好你需要對拍的程式 a.cpp
#include <iostream> #include <cstdio> #include <algorithm> using namespace std; int main(){ long long a, b; cin >> a >> b; cout << a * b; return 0; }
2. 然後是你的暴力程式碼 b.cpp
#include <iostream> #include <cstdio> using namespace std; int main(){ long long a, b; cin >> a >> b; long long ans = 0; for(int i = 1; i <= a; ++i) for(int j = 1; j <= b; ++j) ans++; cout << ans << endl; return 0; }
3. 生成隨機資料Data.cpp
注意要輸出出來。
#include <iostream> #include <cstdio> #include <cstdlib> #include <windows.h> #include <ctime> using namespace std; int main(){ srand(time(0)); int a = rand(), b = rand(); cout << a << " " << b << endl; return 0; }
4. 對拍程式test.cpp
#include <iostream>
#include <windows.h>
using namespace std;
int main(){
while(true){
//生成資料存到 Data.txt 中
system("Data.exe > Data.txt");
//執行 a.cpp 及 b.cpp 並把結果分別存到 a.txt 和 b.txt 中
system("a.exe < Data.txt > a.txt");
system("b.exe < Data.txt > b.txt");
//判斷結果是否相同 (a.txt 與 b.txt 是否完全一致)
if(system("fc a.txt b.txt"))
break;
}
cout << "Error!" << endl;
system("Pause");
return 0;
}
- 把這幾個檔案都放到同一個目錄下,並生成相應的
.exe
檔案。然後點選test.exe
即可觀察到對拍結果。
結果
- 如果都一樣,會有如下輸出:
- 如果結果不一樣,那麼會有如下提示:
這時你可以點開你的 Data.txt
檔案,觀察輸入資料
注意事項
-
輸入輸出格式一定要一致!
-
四個程式要放到同一個資料夾裡!
本文來自部落格園,作者:xixike,轉載請註明原文連結:https://www.cnblogs.com/xixike/p/15434907.html