zoukankan      html  css  js  c++  java
  • 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可能有未知错误

  • 相关阅读:
    iPhone页面的常用调试方法
    前端代码相关规范
    使用BEM命名规范来组织CSS代码
    安卓微信页面的调试
    前端调试的那些手段
    Webpack打包构建太慢了?试试几个方法
    [前端] 记录工作中遇到的各种问题(Bug,总结,记录)
    jqPlot图表插件学习之饼状图和环状图
    jqPlot图表插件学习之阴阳烛图
    jqPlot图表插件学习之数据节点高亮和光标提示
  • 原文地址:https://www.cnblogs.com/zzqdeco/p/12518246.html
Copyright © 2011-2022 走看看