【FBI WARNING】对拍
很多时候,我们或许有一个标程(或者爆搜程序什么的,反正答案是对的),一个自己的程序,然而一组一组的数据经过我们的手动输入后并没有什么问题,可就是有错……
咋办,一个一个输数据得到什么时候啊,于是,一个很“高端”的东西诞生了——对拍。
对拍是什么?简单说就是把两个程序对于同一个输入的输出进行比较,没有问题就再来,有问题就停下来,你就可以找到你程序的问题所在了
对拍,需要4个东西:你的程序,答案正确的程序,一个数据生成器,和一个对拍器。
你的程序和答案正确的程序不多说,数据生成器讲讲(知道直接跳过这里):
通常,一个程序的数据一个一个想很累,所以,我们就可以用数据生成器,用来生成随机数据(才能保证数据不同)。
怎么生成随机数呢?很简单:
#include<cstdio> #include<ctime> #include<cstdlib>//这两个头文件不可少 int main() {srand(time(NULL));//程序开头写上这一句printf("%d %d\n",rand()%10,rand()%10); }
上面的程序就是随机输出两个0-9之间的整数
为什么是0-9之间?
rand()就是生成一个随机数(由于前面的一句是以time为标准,所以rand()会根据时间生成一个正整数,自然不会一样),但是它有可能会很大,所以我们通常在后面mod一个数,如果想从1开始,就在后面加一个1,2开始就加2……
随机数就是这些了,接下来讲怎么写对拍程序。
首先,我们知道运行源代码后会有一个exe文件,把要对拍的两个程序生成的exe文件放在一个文件夹中。
如:
/*待对拍程序1.cpp*/ #include<cstdio> int main() {int a,b;scanf("%d%d",&a,&b);printf("%d",(3*a+3*b)/3); }
/*待对拍程序2.cpp*/ #include<cstdio> int main() {int a,b;scanf("%d%d",&a,&b);printf("%d",a+b); }
好的,就这两个程序了(不要说我无耻,临时打一个,打长了麻烦)。
然后编译运行一次,就有了这个:
将后两个放在一个文件夹中:
再做一个数据生成器,用同样的办法将它的exe文件放在这个文件夹中:
/*数据生成器:用于生成2个0-1000的整数*/ #include<cstdio> #include<ctime> #include<cstdlib> int main() {srand(time(NULL));printf("%d %d\n",rand()%1000,rand()%1000); }
然后找到exe文件放入:
接下来就是对拍程序了,这里用c++来写(其实是一样的,只是用system来执行windows命令):
#include<iostream> #include<windows.h> using namespace std; int main() {int t=1000;while(--t){system("data.exe > data.txt");system("1.exe < data.txt > 1.txt");system("2.exe < data.txt > 2.txt");if(system("fc 2.txt 1.txt"))break;} if(t==0)cout<<"no error"<<endl;elsecout<<"error"<<endl;return 0; }
#include<iostream> #include<windows.h> using namespace std; int main() {/*这个是有对拍次数的*/int t=这里是检查(对拍)次数;while(--t){system("这里写数据生成器名称.exe > 这里写数据生成器名称.txt");system("这里写程序1名称.exe < 这里写数据生成器名称.txt > 这里写程序1名称.txt");system("这里写程序2名称.exe < 这里写数据生成器名称.txt > 这里写程序2名称.txt");if(system("fc 这里写程序2名称.txt 这里写程序1名称.txt"))break;}if(t==0)cout<<"no error"<<endl;elsecout<<"error"<<endl;/*下面这个没有对拍次数,直到错了为止*//*while(1){system("这里写数据生成器名称.exe > 这里写数据生成器名称.txt");system("这里写程序1名称.exe < 这里写数据生成器名称.txt > 这里写程序1名称.txt");system("这里写程序2名称.exe < 这里写数据生成器名称.txt > 这里写程序2名称.txt");if(system("fc 这里写程序2名称.txt 这里写程序1名称.txt"))break;}*/return 0; }
运行结果:
文件夹内是这样的:
如果对拍显示有问题,就直接打开data.txt,里面有数据,1.txt和2.txt中分别是你程序1的答案和程序2的答案。
如果你的对拍程序一出错就关闭了,就在return 0前加一个getchar(),让程序停一下,头文件:cstdio
改动一下测试程序,让它出现错误,就会这样了。
感谢:
https://blog.csdn.net/c20190102/article/details/60138907
转载于:https://www.cnblogs.com/_Yrh/p/9252401.html
【FBI WARNING】对拍相关推荐
- JS控制台打印FBI WARNING
代码: console.log(`%c%c FBI WARNING %c %c Federal Law provides severe civil and criminal penalties for ...
- 【FBI WARNING】一些Noip的黑科技 持续整理!
有疑问或错误尽管评论!! 下面以C++为准. 本文手(粘)打(贴)于各大博客之间 有问题..... 我也不懂 max.min的优化 我们知道,打max.min时,要用分支(if语句).这样会使程序超 ...
- js实现好看的图案 加勒比海盗(php拍黄片)
代码如下 </script> <script type="text/javascript">function refreshVerify(){var ts ...
- 你有没有被FBI警告过?
大家伙,我是周杰伦. 不知道大家有没有被FBI警告过? 而就在前两天,真的有人被"FBI"警告了! 为什么我要给FBI打一个引号?实际上并不是真正的FBI,而是有人黑了FBI下面的 ...
- Android移动开发之【Android实战项目】DAY15-翻页效果原理
在<自定义控件其实很简单>系列的前半部分中我们用了整整六节近两万字两百多张配图讲了Android图形的绘制,虽然篇幅很巨大但仍然只是图形绘制的冰山一角,旨在领大家入门,至于修行成果就看各位 ...
- 太秀了!那个在 GitHub 用文言文编程的小哥,竟从 28 万行唐诗中找出了对称矩阵
来自量子位 下面这张图,你能看出来,这首诗妙在哪里吗? 其实,横着读是一首诗,竖着读还是这首诗! 而且,这首诗可不是乱编的,其中的诗句都来自<全唐诗>,读起来也颇有意境. 创造这个奇妙组合 ...
- 看上去很强但实际上没什么卵用的网络摄像头教程
1 笔者一直信奉这样一句话: 没有什么事是理所当然的. 最近两周的经历再次验证了这句话.故事还得从一张图片说起- 某日,笔者走在街上,看到路边躺着一只猫猫,腿就像灌了铅似的迈不动了,兴奋地搓了搓小手手 ...
- 姚班大神胡渊鸣回国创业!超一半员工为清华校友,团队人均竞赛金牌数≥2
本文经AI新媒体量子位(ID:QbitAI)授权转载,转载请联系出处 杨净 边策 发自 凹非寺 清华姚班出身的"计算机图形学超级新星"胡渊鸣同学回国创业啦! 胡渊鸣,何许人也? 他 ...
- Android翻页效果原理实现之翻页的尝试
炮兵镇楼 在<自定义控件其实很简单>系列的前半部分中我们用了整整六节近两万字两百多张配图讲了Android图形的绘制,虽然篇幅很巨大但仍然只是图形绘制的冰山一角,旨在领大家入门,至于修行成 ...
最新文章
- CNN模型之MobileNet
- 一周最新示例代码回顾 (5/7–5/13)
- 聋哑六年级计算机课教学进度计划,小学六年级下册信息技术教学计划三篇
- 成功解决TypeError: take() got an unexpected keyword argument ‘fill_value‘
- Java核心技术 卷1 多线程----线程安全的集合(4)
- FBI树(信息学奥赛一本通-T1365)
- maven 打包数据库加密_漫画:工作这么多年,你居然不知道 Maven中 Optional 和 Exclusions 的区别?...
- 奇安信代码安全实验室帮助谷歌修复 Chrome 沙箱外高危漏洞,获官方致谢
- 软考资料已经 ready,你get 到了吗?
- python 趋势线计算式_[原创]图表趋势线公式系数的计算公式
- Xiaojie雷达之路---车载雷达信号处理流程
- PS 图层的基本操作
- 山西尚呈:拼多多砍价窍门秘诀及攻略?
- 【PBR系列五】镜面反射BRDF模型(Specular BRDF)及实现效果
- 问答知识库快速构建技术解析及行业实践
- HTML在线颜色选择器源码
- 塔式、机架式、刀片式服务器
- HTML网页内嵌入网页
- nginx利用反向代理实现获取用户真实ip
- 火山安卓RSA加解密操作
热门文章
- 粉笔计算机基础知识,计算机基础教育实用化
- xbox微软服务器崩溃了,微软Xbox游戏栏崩溃 出现错误代码0x803F8001
- zip压缩包解密不用下载任何工具,忘记zip压缩包密码如何找回?
- 媒体宣发软文发稿浅谈它的优缺点-世媒讯
- 《Javascript 语言精髓》读书心得
- TypeError: Cannot read property ‘_wrapper‘ of undefined
- 螯合树脂对二价金属离子的吸附能力,处理精度0.02ppm
- E+H流量计之Proline Promass F 300 科氏力质量流量计概述
- u88财富快车流氓软件RK驱动分析
- VS下载插件很慢的一种解决方法