太感人了我终于会对拍了被自己菜哭
- 随机数据生成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 ", i, ed-st); 19 } 20 } 21 }
完成!开心!快乐!再见!