太感人了我終於會對拍了被自己菜哭
- 隨機數據生成quq
- #include<cstdlib> 包含rand和srand兩個函數
- #include<ctime> 包含time函數
- time(0) 返回Unix紀元(1970/1/1 0:00:00 到現在的秒數)
- srand((unsigned)time(0)) 初始化隨機種子
-
int random(int n) {return (long long)rand() * rand() % n; } 隨機數據生成模板, 調用函數random(n) 可返回 0 ~ n-1之間的隨機整數 , int范圍內均能滿足要求 , 如果不希望有0 的出現, 可以在后面加上1 呀qwq
- 若要產生隨機實數, 可以先生成一個較大的隨機整數, 再用它除以10 的次冪
-
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 以內的整數
- 隨機生成樹, 隨機生成圖咕掉
- 程序部分
- 然后需要一個你覺得很妙但是不一定對需要拍一拍的程序 (我們叫它quq.cpp 運行得到 quq.exe)從data.in 讀入數據, 輸出到data.out
- 一個你覺得不太妙但是肯定對的程序(我們叫它qwq.cpp 運行得到 qwq.exe) 從data.in 讀入數據, 輸出到data.ans
- 寫的生成隨機數據的程序我們叫他random.cpp (好正經啊不符合我的命名風范) 輸出到 data.in 中
- 執行以下程序, 開始拍√
-
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 }
完成!開心!快樂!再見!