Loading

Crayon使用介绍(不完全

简介

Crayon是基于cpp的数据生成器

优点在于只要是一般的OIer,都可以轻易出数据

在此之前你需要完成前置操作

文件操作

Crayon支持基础的数据生成中遇到的文件操作

你需要在makedata.cpp的同目录下创建 testdeta文件夹

make_in(*int data_id);

make_in是一个打开in文件的函数,使用这个你可以重定向输出到编号对应的in文件

例如:

make_in(5);

上面的代码可以重定向到testdata5.in

同样的我们有:

make_out(*int data_id);

这个函数会将std重定向到编号对应的out文件

(确保目录下存在std,在Windows环境应为std.cpp

随机数

Crayon通过cyrand函数生成想要的随机数:

cyrand(*int begin,*int end);

其中,begin为随机数下界,end为随机数上界

同时支持long long范围的随机数:

cyrand_ll(*long long begin,*long long end);

定义:

graph<type> a;

type是指边权的类型,目前支持完善的为int

对于其他的边权,在调用随机性质的函数时,需要自己编写相关的rand函数,形式为:

T randfunc(*T min,*T max)

下面列出支持的随机图函数

rand_graph(*int n,*int m,*T min,*T max,T(*randfunc)(T,T)) //用randfunc函数随机制造出边权在范围内的n点m边的图
rand_dag(*int n,*int m,*T min,*T max,T(*randfunc)(T,T)) //用randfunc函数随机制造出边权在范围内的n点m边的有向无环图
rand_tree(*int n,*int k,*T min,*T max,T(*randfunc)(T,T)) //用randfunc函数随机制造出边权在范围内的n点k叉的无根树
connect_graph(*int n,*int k,*T min,*T max,T(*randfunc)(T,T)) //用randfunc函数随机制造出边权在范围内的n点m边的连通图

上述的函数在使用过程中,自行保证参数的合理性

如果无法保证,返回的graph可能有未知错误

posted @   zzqDeco  阅读(701)  评论(3编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示