【对拍√】


太感人了我终于会对拍了被自己菜哭

  • 随机数据生成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