【對拍√】


太感人了我終於會對拍了被自己菜哭

  • 隨機數據生成quq
  1. #include<cstdlib> 包含rand和srand兩個函數
  2. #include<ctime> 包含time函數  
  3. time(0) 返回Unix紀元(1970/1/1 0:00:00 到現在的秒數)
  4. srand((unsigned)time(0))  初始化隨機種子 
  5. int random(int n) {return (long long)rand() * rand() % n; }  隨機數據生成模板, 調用函數random(n) 可返回 0 ~ n-1之間的隨機整數 , int范圍內均能滿足要求 , 如果不希望有0 的出現, 可以在后面加上1 呀qwq

  6. 若要產生隨機實數, 可以先生成一個較大的隨機整數, 再用它除以10 的次冪
  7. 1 int n = random(100 + 1) + 1;
    2 int m = 1000;
    3 for(int i = 1; i <= n; i++) {
    4     a[i] = random(2 * m + 1) - m;//生成負數只需要先生成一個0 ~ 2m之間的隨機整數再減去m即可
    5 }//隨機生成n(n <= 100)個絕對值在1000 以內的整數

     

  8. 隨機生成樹, 隨機生成圖咕掉

                 

  • 程序部分
  1. 然后需要一個你覺得很妙但是不一定對需要拍一拍的程序  (我們叫它quq.cpp 運行得到 quq.exe)從data.in 讀入數據, 輸出到data.out
  2. 一個你覺得不太妙但是肯定對的程序(我們叫它qwq.cpp 運行得到 qwq.exe) 從data.in 讀入數據, 輸出到data.ans
  3. 寫的生成隨機數據的程序我們叫他random.cpp (好正經啊不符合我的命名風范)  輸出到 data.in 中
  4. 執行以下程序, 開始拍√
  5.  1 #include<ctime>
     2 #include<cstdio>
     3 #include<cstdlib>
     4 #include<iostream>
     5 using namespace std;
     6 int main() {
     7     for(int i = 1; i <= 1000; i++) {//想拍多少組qwq 
     8         system("random.exe");
     9         double st = clock();
    10         system("quq.exe");
    11         double ed = clock();
    12         system("qwq.exe");
    13         if(system("fc data.out data.ans")) {
    14             puts("Wrong Answer");
    15             return 0;
    16         }
    17         else {
    18             printf("AC in #%d, time: %.0lfms\n", i, ed-st);
    19         }
    20     }
    21 }

    完成!開心!快樂!再見!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM