CYaRon 入门教程 | 快速配置题目数据

CYaRon 入门教程 | 快速配置题目数据

开始之前

解压完成后,会发现如下文件夹,其文件目录大致如下:

  • examples(一些示例,便于参考)
    • A+B Problem(最基础的数据生成)
    • CF1A Theatre square(较为基础的样例生成)
    • Luogu P1093(多组样例生成)
    • Luogu P3366(图论相关的数据生成)
  • test.cpp(生成输入数据的文件)
  • std.cpp(存放题解代码,用于生成输出数据的文件)

数据生成

对于 std.cpp,直接将题解代码放入里面即可。
注意一定要编译运行 std.cpp,否则输出数据将无法生成。
接下来打开 test.cpp,会发现如下代码:

#include "caryon.h"
// including <bits/stdc++.h>
using namespace std;
using namespace ca;  // namespace
int main() {
    dataname = "";  // dataname
    maxtime  = 1000;
    makein(/*start*/, /*end*/) {
        csh();
        // Please finish these rows
    }
    makeout(/*start*/, /*end*/);
    //debug(/*start*/, /*end*/);这个在篇文章中用不着,注释即可
    return 0;
}

我们以一道题目为例,来编写 test.cpp题目&题解

首先,命名 dataname,这个是填写产生数据的前缀的。命名后,通过工具造出的数据文件夹名为 data-XXX,输入输出数据名为 XXX.inXXX.out。为了防止一些玄学情况的发生,尽量不要使用中文名与空格。
接下来命名 makein,它决定了你数据的个数。例如 makein(3,5) 就是生成 3.in-5.in
下面就是文件的最重要部分,介绍几个函数来实现:

inint();
instring();
in();
inendl();
inspace();
cyrand(a,b);
  • inint() 是写入一个整型变量或常量。
  • intstring() 是写入一个 C++ 字符串,如 intstring(" ") 是写入一个空格,intstring("\n") 是写入一个换行。
  • in() 是写入一个其他任何类型的变量或常量。如 in<long long int>(a) 就是把超长整型 a 写入输入文件。
  • inendl()inspace() 也可以分别打印换行和空格。
  • cyrand(a,b) 是一个随机数函数,他的功能是返回一个在 ab 之间的随机数。如果要产生一个 long long 范围内的随机数,用 cyrand_ll()

最后加上 makeout( , ),创造对应的 out 文件。
对于上面的题目,test.cpp 文件如下:

#include "caryon.h"
// including <bits/stdc++.h>
using namespace std;
using namespace ca;  // namespace
int main() {
    dataname = "road";  // dataname
    maxtime  = 1000;
    makein(1,10) {
        csh();
        int n;
        n=3;
        inint(n);
        instring("\n");
        for(int i=1;i<=2;i++){
			for(int j=1;j<=n;j++){
				inint(cyrand(1,10));
				instring(" ");
			}
			instring("\n");
		}
        // Please finish these rows
        int m;
		m=3;
        inint(m);
        instring("\n");
        for(int i=1;i<=m;i++){
			inint(cyrand(1,10));
			instring("\n");
		}
    }
    makeout(1,10);
    //debug(/*start*/, /*end*/);
    return 0;
}

编译运行 test.cpp 文件,会出现如下弹窗:

点击确定,回到文件夹,会发现多了一个 data-XXX 的文件夹,

检查每个文件,如果都有输入输出说明配置成功。

posted @ 2025-01-27 09:39  M1_Byte  阅读(113)  评论(0)    收藏  举报