博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何对拍
阅读量:5140 次
发布时间:2019-06-13

本文共 1614 字,大约阅读时间需要 5 分钟。

idy002老师在放假为我们讲了讲c++的对拍。

以求1~n的和(n<=1e9)为例:

需要一个暴力程序(brute.cpp):

#include 
int main() { int n; long long sum = 0; scanf("%d", &n); for(int i = 1; i <= n; i++) sum += i; printf("%I64d\n", sum);}

以及一个正确程序(A.cpp):

#include 
int main() { int n; scanf("%d", &n); long long sum = (1 + n) * (long long)n / 2; printf("%I64d\n", sum);}

甚至可以是错误程序:

#include 
#include
#include
int main() { int n; scanf("%d", &n); srand(time(0)); if (rand() % 10 == 1) n++; long long sum = (1 + n) * (long long)n / 2; printf("%I64d\n", sum);}

不可或缺的数据生成器(gen.cpp):

#include 
#include
#include
int main() { srand(time(0)); printf("%d\n", rand() % 100000);}

以及一个对拍程序(dp.cpp):

程序来自

system就跟cmd差不多?

大概意思如此吧。

#include
#include
#include
int main(){ long s,t; while(1){ system("cls"); do{ system("gen > input"); //data是数据生成程序 s=clock(); system("brute < input > brute.out"); //a是要交的程序 t=clock(); system("A < input > A.out"); //b是正确的程序 if(system("fc brute.out A.out > nul")) break; else printf("AC time: %ldms\n",t-s); }while(1); printf("WA time: %ldms\n",t-s); //运行时间 system("fc brute.out A.out"); system("pause>nul"); } return 0;}

一切就绪,点击dp.exe即可开始AC(WA WA 机)的旅程。

考试之前真的有时间写这个吗?

我写Vim的配置文件就要写好久诶。

如果有时间还是学学吧。

真·放假来袭。

再见~

转载于:https://www.cnblogs.com/LoLiK/p/9531022.html

你可能感兴趣的文章
Hdu - 1002 - A + B Problem II
查看>>
HDU - 2609 - How many
查看>>
每天CookBook之Python-003
查看>>
每天CookBook之Python-004
查看>>
Android设置Gmail邮箱
查看>>
StringBuffer的用法
查看>>
js编写时间选择框
查看>>
PHP压缩文件操作
查看>>
Java数据结构和算法(四)--链表
查看>>
JIRA
查看>>
小技巧——直接在目录中输入cmd然后就打开cmd命令窗口
查看>>
深浅拷贝(十四)
查看>>
由级别和性格特征将程序员分类 ---看看你属于哪一种
查看>>
HDU 6370(并查集)
查看>>
BZOJ 1207(dp)
查看>>
PE知识复习之PE的导入表
查看>>
HDU 2076 夹角有多大(题目已修改,注意读题)
查看>>
洛谷P3676 小清新数据结构题(动态点分治)
查看>>
九校联考-DL24凉心模拟Day2T1 锻造(forging)
查看>>
Cortex M3/M4 学习摘要(二)
查看>>