Python&CYaRon

Github地址

https://github.com/luogu-dev/cyaron/wiki

本地cmd安装cyaron

pip install cyaron
pip install --upgrade cyaron # 更新cyaron

生成IO文件的参数

IO("test1.in", "test1.out") # test1.in, test1.out
IO(file_prefix="test") # test.in, test.out
IO(file_prefix="test", data_id=3) # test3.in, test3.out
IO(file_prefix="test", data_id=6, input_suffix=".input", output_suffix=".answer") # test6.input, test6.answer
IO("test2.in") # test2.in, .out文件生成为临时文件
IO(file_prefix="test", data_id=5, disable_output=True) # test5.in, 不建立.out
IO() # .in, .out文件均生成为临时文件,一般配合对拍器使用def __init__(self, input_file=None, output_file=None, data_id=None, file_prefix=None, input_suffix='.in', output_suffix='.out', disable_output=False):
"""
指定输入文件,输出文件,数据id,文件前缀,输入文件后缀,输出文件后缀,是否不显示输出文件
"""

IO生成文件名遇到的一个问题:

如果不使用参数file_prefix,只使用data_id,则不会生成文件。
而使用了file_prefixdata_id之后,若从0开始命名,则0不会显示,只是显示.in.out

调用IO的方法,写入数据到IO文件,也可用标程来写入输出文件

io = IO("test1.in", "test1.out") # 先新建一组数据
io.input_write(1, 2, 3) # 写入1 2 3到输入文件
io.input_writeln(4, 5, 6) # 写入4 5 6到输入文件并换行
io.output_write(1, 2, 3) # 写入1 2 3到输出文件
io.output_writeln(4, 5, 6) # 写入4 5 6到输出文件并换行
io.input_write([1, 2, 3]) # 写入1 2 3到输入文件
io.output_write(1, 2, [1, 2, 3], [4]) # 写入1 2 1 2 3 4到输出文件
io.input_write(1, 2, 3, separator=',') # 写入1,2,3,到输入文件,目前版本尾部会多一个逗号,之后可能修改行为
io.output_gen("~/Documents/std") # 执行shell命令或二进制文件,把输入文件的内容通过stdin送入,获得stdout的内容生成输出
io.output_gen("C:\\Users\\Aqours\\std.exe") # 当然Windows也可以

生成Graph

graph = Graph.graph(n, m) # 生成一个n点,m边的无向图,边权均为1
graph = Graph.graph(n, m, directed=True, weight_limit=(5, 300)) # 生成一个n点,m边的有向图,边权范围是5到300
graph = Graph.graph(n, m, weight_limit=20) # 生成一个n点,m边的无向图,边权范围是1到20
graph = Graph.graph(n, m, weight_gen=my_func) # 生成一个n点,m边的无向图,使用自定义随机函数my_func的返回值作为边权
graph = Graph.graph(n, m, self_loop=False, repeated_edges=False) # 生成一个n点,m边的无向图,禁止重边和自环
# 以上的directed, weight_limit, weight_gen参数,对如下的所有函数都有效。chain = Graph.chain(n) # 生成一条n个节点的链,是Graph.tree(n, 1, 0)的别名
flower = Graph.flower(n) # 生成一朵n个节点的菊花图,是Graph.tree(n, 0, 1)的别名
tree = Graph.tree(n) # 生成一棵n个节点的随机树
tree = Graph.tree(n, 0.4, 0.35) # 生成一棵n个节点的树,其中40%的节点呈现链状,35%的节点呈现菊花图状,剩余25%的节点随机加入
binary_tree = Graph.binary_tree(n) # 生成一棵n个节点的随机二叉树
binary_tree = Graph.binary_tree(n, 0.4, 0.35) # 生成一棵n个节点的二叉树,其中节点有40%的概率是左儿子,35%的概率是右儿子,25%的概率被随机选择
graph = Graph.hack_spfa(n) # 生成一个n点,1.5*n(下取整)边的图,具有卡SPFA的特点
graph = Graph.hack_spfa(n, extra_edge=m) # 生成一个n点,1.5*n+m(下取整)边的图,具有卡SPFA的特点
# 下列方法生成的图保证连通
# 支持 self_loop, repeated_edges, weight_limit, weight_gen 参数,但不支持 directed,DAG 的 self_loop 默认为 False
graph = Graph.DAG(n, m) # 生成一个 n 点,m 边的有向无环图
graph = Graph.DAG(n, m, loop=True) # 生成一个 n 点,m 边的有向有环图
graph = Graph.UDAG(n, m) # 生成一个 n 点,m 边的无向联通图

PythonCYaRon相关推荐

最新文章

  1. Opencv中的FaceRecognizer类
  2. 日志分析工具 LogParser
  3. 设置ComboBox控件的边框颜色.
  4. Codeforces Global Round 2 D. Frets On Fire (动态开点线段树,沙雕写法)
  5. 机器学习 量子_量子机器学习:神经网络学习
  6. 学法减分小程序可用可运营源码附带安装教程
  7. 20160417_无为_常州
  8. python在财务中的应用-财务人要学Python吗?
  9. 操作系统随机密码,定时改密码
  10. delphi socket 怎样把接收到的二进制数据转换成字符串显示_【连载电子书二】Python基础数据类型详解(上)...
  11. 机器人的核心——运动控制器
  12. 计算机类专业毕业论文文献综述,计算机类专业毕业论文参考文献大全
  13. D语言(dlang)编写单片机(cortex-m系列)应用需要用到的技巧
  14. Python简单浪漫表白代码鲜花
  15. 2563: 阿狸和桃子的游戏 贪心
  16. 视频播放--自动播放
  17. 作文总结思维导图怎么画?分享作文类型总结思维导图模板
  18. educoder太原理工web程序设计——移动端电商页面制作
  19. 线程池有哪些状态?状态是如何转换的?
  20. CVTE 2017春季校招技术类面试问题

热门文章

  1. uni-app前端框架坑点集合,打包图片加载不到问题
  2. 基于Arm-Linux和TCP/IP的远程控制嵌入式系统设计
  3. abap选择屏幕工具栏按钮问题
  4. Ubuntu / linux 下创建Wi-Fi热点 以AP模式互联共享网络宽带
  5. excel中如何截取指定字符之间的字符
  6. 2022-2027年中国厨房小家电行业市场深度分析及投资战略规划报告
  7. 电子邮件制作规范和建议
  8. Deferred statistics publish-延迟统计信息发布功能介绍
  9. 并查集之您可能认识的人
  10. Java 开发工具 - 推荐插件