对拍 & 随机数生成
用 Windows 批处理对拍:
1. 新建一个批处理(.bat),代码如下:
:loop
@echo off
data_creator.exe
force_solution.exe
correct_solution.exe
@echo on
fc force_solution.out correct_solution.out
if not errorlevel 1 goto loop
pause
2. 创建一个数据生成程序,一个暴力程序,一个正解。
3. 循环运行这个批处理,对照 correct_solution 和 force_solution 的答案是否相同。
随机数生成器 Example(Data_Creator.cpp)
The function random(a, b) creates integers in the range [a, b]. The function randll(a, b) creates Int64 integers in the range [a, b].
Sentence srand(time(0)); is needed.
/* Data Creator
* Au: GG
*/
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <ctime>
#include <iostream>
#include <algorithm>
using namespace std; // Create a random in range [a, b].
// It can only create integers.
int random(int a, int b) {
if (rand() % )
return (rand() * 32768 + rand()) % (b - a + ) + a;
else return (rand() * 32768 - rand()) % (b - a + ) + a;
} // Create a random in range [a, b]
// Supports Int64 numbers.
long long randll(long long a, long long b) {
if (rand() % )
return ((long long)random(, ) * 2147483648ll + random(, )) % (b - a + ) + a;
else return ((long long)random(, ) * 2147483648ll - random(, )) % (b - a + ) + a;
} int n1, n2, a1, b1, a2, b2; int main() {
freopen("data.out", "w", stdout); // write to file
srand(time(0)); // create a random seed scanf("%d%d%d", &n1, &a1, &b1);
scanf("%d%d%d", &n2, &a2, &b2);
for (int i = ; i <= n1; i++)
printf("%d\n", random(a1, b1));
for (int i = ; i <= n2; i++)
printf("%lld\n", randll(a2, b2)); return ;
}
srand(time(NULL)) 也是可行的,但不 secure。参见 https://stackoverflow.com/questions/26206780/is-srandtimenull-bad。
另外一种对拍方法:“管道”,即命令行参数。参见 http://blog.csdn.net/wlx65003/article/details/51149196。
对拍 & 随机数生成的更多相关文章
- Collections 索引
About Me NOIp 数据结构专题总结 NOIp 图论算法专题总结 NOIp 基础数论知识点总结 NOIp 数学知识点总结 搜索算法总结 (不包含朴素 DFS, BFS) 位运算 字符串算法总结 ...
- 史上最全的java随机数生成算法分享(转)
这篇文章主要介绍了史上最全的java随机数生成算法,我分享一个最全的随机数的生成算法,最代码的找回密码的随机数就是用的这个方法 String password = RandomUtil.generat ...
- 相机拍的图,电脑上画的图,word里的文字,电脑屏幕,手机屏幕,相机屏幕显示大小一切的一切都搞明白了!
相机拍的图,电脑上画的图,word里的文字,电脑屏幕,手机屏幕,相机屏幕显示大小一切的一切都搞明白了! 先说图片X×dpi=点数dotX是图片实际尺寸,简单点,我们只算图片的高吧,比如说拍了张图片14 ...
- [OC笔记]@property之个人理解,大神轻拍
/** * 一个简单的对象 * * @author suzhen * */ public class SimpleObjcet { /** * 声明一个age字段 */ private Object ...
- 完美实现类似QQ的自拍头像、上传头像功能!(Demo 源码)
现在很多下载客户端程序都需要设定自己头像的功能,而设定头像一般有两种方式:使用摄像头自拍头像,或者选择一个图片的某部分区域作为自己的头像. 一.相关技术 若要实现上述的自拍头像和上传头像的功能,会碰到 ...
- 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.5,增加自拍头像功能、细节优化(源码)
距离上次发版本(GG叽叽V3.4,增加系统设置.最近联系人.群功能)又有1个月了,在这个月内,由于空闲时间不是很多,所以,GG增加的主要功能只是拍照并设定其为自己头像.修改密码.删除好友.以及一些bu ...
- 高拍仪拍照SDK开发(良田影像S300L|S500L)
高拍仪拍照SDK开发下载地址:点击下载 本SDK适用于:良田影像S300L|S500L 高拍仪如图: SDN开发包安装之后找到安装目录,如图: 大家找到各自需要的版本即可,需要注意的是如果需要上传图片 ...
- ajax异步上传到又拍云的实例教程
作者:白狼 出处:www.manks.top/article/async_upload_to_upyun 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否 ...
- ACM程序对拍
有时候在OJ刷题目的时候,总是会遇到不知名bug,题目总不能AC,自己测试的一些数据又都能得出正确的结果,又或是直接暴力会TLE,改了算法,但是仍然WA,这时候进行程序对拍测试数据不失为一个好办法.程 ...
随机推荐
- 一个简单的INI读写文件类,基于C++的模板编程实现,使用超级方便
GITHUB链接:https://github.com/brofield/simpleini 主体代码: /** @mainpage <table> <tr><th> ...
- Python3之异常处理
写自动化脚本时经常会用到异常处理,下面将python中的异常处理做一整理: 注意:以下所有事列中的111.txt文件不存在,所以会引起异常 用法一:try...except...else..类型 1. ...
- 浅谈Java反射机制 之 获取类的 方法 和 属性(包括构造函数)
上一篇 获取 类 的字节码文件 我们讲到了获取类的字节码文件的三种方法 第三种方法通过getClass("全路径名")获取字节码文件最符合要求 1.获取构造方法 先贴上我们要获取的 ...
- idea奇葩问题汇总
1.用idea在tomcat里运行普通的springMVC项目,用nacos做为配置中心,通过@NacosValue来读取配置中心的值,配置了autoRefreshed = true但是不起作用,读取 ...
- vue 路由嵌套 及 router-view vue-router --》children
vue 路由嵌套 vue-router -->children 在项目的很多子页面中,我们往往需要在同一个页面做一个组件的切换,同时保存这个页面的部分数据(比如树形菜单),进而显示不同的数据 ...
- docker--docker架构
4 docker 架构 Docker uses a client-server architecture. The Docker client talks to the Docker daemon, ...
- py基础
基本语句和函数等练习,知识点都在代码里... """ a = int(input('a = ')) b = int(input('b = ')) print('%d + ...
- 用js代码打开新场口 关于window.open()方法的参数
应用window.open,可以弹出新窗口, window.open('path', 'windowName', 'windowSetting' ) window.open("./a.htm ...
- dfs(找环)
https://codeforces.com/problemset/problem/1249/B2 B2. Books Exchange (hard version) time limit per t ...
- 所有的数据处理都是map-reduce
用reduce求和 const sum = [1,2,3,4,5,6].reduce((v,t)=>{ return v+t; //第一次v=0,t=1 //第二次v= 0+1,t=2 //第三 ...