最简单易懂的对拍讲解
完成对拍我们需要新建一个文件夹 里面有这些文件
bf是暴力写法
gen是随机生成数据用的
std是理论上的正解
对拍的目的就是
考试时不确定你的”正解“算法能得多少分
而你能基本确保你的暴力写法正确的情况下
生成数据判断正确性
下面我们以a + bproblem举例
1.我们的bf.cpp
1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 5 int s, a, b; 6 7 int main() { 8 freopen("input.txt", "r", stdin); 9 freopen("bf.out", "w", stdout); 10 11 cin >> a >> b; 12 13 for (int i = 1; i <= a + b; ++i) 14 s++; 15 16 cout << s; 17 return 0; 18 }
算是暴力了。。。
2.我们的gen.cpp
1 #include <bits/stdc++.h> 2 using namespace std; 3 4 int bigrand() { 5 return (rand() * 32768 + rand()); 6 } 7 8 int main() { 9 freopen("input.txt", "w", stdout); 10 11 srand(time(0)); 12 13 cout << bigrand() % 100000 << ' ' << bigrand() % 100000; 14 15 return 0; 16 }
bigrand()函数可以随便写 目的就是使随机的数变大 取模%可以确定范围
3.我们的std.cpp
1 #include <bits/stdc++.h> 2 using namespace std; 3 4 int a, b; 5 6 int main() { 7 freopen("input.txt", "r", stdin); 8 freopen("std.out", "w", stdout); 9 10 cin >> a >> b; 11 12 cout << a + b; 13 14 return 0; 15 }
目测是没错的
4.小总结
是的
这样
写三个cpp文件就足够了
但是一次次比对.out文件是否太烦了呢
所以我们还要学会
5.test.bat批处理 文件
右键找到编辑(win10)
1 :loop 2 gen.exe 3 std.exe 4 bf.exe 5 fc std.out bf.out 6 if not errorlevel 1 goto loop 7 pause
加上这段代码就可以了
:loop是循环的意思
下面三行是分别运行三个程序
fc代表比较 后面就写已生成的.out文件名
最后 if not errorlevel 1 goto loop
如果没有错误就继续循环
最后一定要写上pause
注意 缩进是必须按要求的
6.现在检验成果吧
如果我的std是对的那么
根本停不下来
如果是错的呢
就会这样
所以学会了吗。。。
转载于:https://www.cnblogs.com/Fo0o0ol/p/11154901.html
最简单易懂的对拍讲解相关推荐
- 简单易懂的Dancing links讲解(4)
DancingLinks的应用 把dancingLink应用于实际问题时,只有一个难点,就是如何把具体的问题转换为可以精确覆盖的01矩阵模型,一旦完成了这个步后,直接套用模板就可以解决问题了. 应用之 ...
- 简单易懂的Dancing links讲解(1)
最早接触Dancing Links的时候,是在csdn论坛上逛的时候,发现有人在研究数独程序,由于本人开发过数独游戏,就进去看了看,发现有人说用Dancing Links来求解数独最快了,于是我就决定 ...
- [C#] Delegate, Multicase delegate, Event
声明:这篇博客翻译自:https://www.codeproject.com/Articles/1061085/Delegates-Multicast-delegates-and-Events-in- ...
- 我来说说java的NIO
Java NIO的出现旨在提高文件的读写速度,当然IO用NIO重新实过,所以我们不用显示的调用NIO也能享受这种高效的文件读写. Java NIO的高效得益于其两大"助手":Cha ...
- 转载-使用 Feed4JUnit 进行数据与代码分离的 Java 单元测试
JUnit 是被广泛应用的 Java 单元测试框架,但是它没有很好的提供参数化测试的支持,很多测试人员不得不把测试数据写在程序里或者通过其它方法实现数据与代码的分离,在后续的修改和维护上有诸多限制和不 ...
- python牛顿法计算平方根_常用的平方根算法详解与实现
本文从属于笔者的数据结构与算法系列文章. SquareRoot 平方根计算一直是计算系统的常用算法,本文列举出几张简单易懂的平方根算法讲解与实现.其中Java版本的代码参考这里 Reference B ...
- 常用的平方根算法详解与实现
本文从属于笔者的数据结构与算法系列文章. SquareRoot 平方根计算一直是计算系统的常用算法,本文列举出几张简单易懂的平方根算法讲解与实现.其中Java版本的代码参考这里 Reference 计 ...
- Unity 游戏实例开发集合 之 CompoundBigWatermelon (简单合成一个大西瓜) 休闲小游戏快速实现
Unity 游戏实例开发集合 之 CompoundBigWatermelon (简单合成一个大西瓜) 休闲小游戏快速实现 目录 Unity 游戏实例开发集合 之 CompoundBigWatermel ...
- 如何自定义Android推送提示音,让你的应用与众不同
前言 我们处在一个信息爆炸的时代,各种通知鱼龙混杂,如何让用户快速识别不同的通知,提高应用活跃度?此时,自定义铃声的使用,就恰好解决了用户和开发者共同的痛点.试想,收款类应用的推送铃声是金币哗啦啦音效 ...
最新文章
- 这样的例子能说明if,else的效率比单单的if组合高
- vue-cli3.0结合lib-flexible、px2rem实现移动端适配,完美解决第三方ui库样式变小问题
- CentOS6.5环境使用keepalived实现nginx服务的高可用性及配置详解
- Oracle 不同故障的恢复方案
- 编写 android 测试单元该做的和不该做的事
- IBatis的resultMap使用
- SQL:postgresql中合并多个查询结果UNION (ALL)
- 王川: 重要的东西, 往往是看不见的
- 小程序和android毕设,微信小程序毕设论文(完整)
- Eclipse 编辑代码字体的设置
- Elgamal数字签名原理
- 恒生电子:控股股东恒生集团股权变更已完成工商变更登记手续
- 程序之外_与我长跑十年的女朋友嫁人了(转)
- 生产事件相机的主要商业公司介绍
- 中国联通智慧客服项目31省集约收官,百度智能客服服务全国最多用户
- 2018 湘潭邀请赛 K.2018
- ios状态栏,导航栏,工具栏,tab栏的位置,附图
- 100万量子比特,PsiQuantum要怎样实现?
- LaTeX 使用心得:节标题(section)中使用数学符号
- nyist 三点顺序
热门文章
- linux驱动模块开机自动加载,以及应用程序开机自启动
- 大话设计模式读后感之面向对象设计基础
- 另一种绕过 Android P以上非公开API限制的办法
- Tutorial on Variational AutoEncoders
- TensorFlow for Hackers - Part II
- 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路
- 无需Root也能Hook?——Depoxsed框架演示
- 算法解读 ---- 递归(一)
- C++为什么空格无法输出_C 语言 第8章-字符输入/输出和输入验证
- hdu5387(模拟)