代码拉取完成,页面将自动刷新
OI Generator 是一款测试数据生成辅助工具,目前支持 Windows 和 Linux 平台。
你还在为生成数据而烦恼吗?只需提供数据生成器和标程,OI Generator 就可以帮助你快速生成大量测试数据。
下载:releases。
输入 oigen(.exe) -h
查看帮助。
使用方法:在同目录下放置 gen.cpp
和 std.cpp
,开箱即用。
命令:oigen(.exe) -n 20
(20 为数据组数)。
以下是 gen.cpp
和 std.cpp
的示例:
// gen.cpp
#include <bits/stdc++.h>
using namespace std;
mt19937 rnd((unsigned int)chrono::system_clock::now().time_since_epoch().count());
int maxn = 1e9;
int a, b;
int main(int argc, char *argv[]) {
if (argc > 1) {
int new_maxn = atoi(argv[1]);
if (new_maxn > 0) maxn = new_maxn;
}
a = rnd() % maxn, b = rnd() % maxn;
printf("%d %d", a, b);
return 0;
}
// std.cpp
#include <cstdio>
int a, b;
int main() {
scanf("%d%d", &a, &b);
printf("%d", a + b);
return 0;
}
测试数据默认生成在目录 data
下,默认对 C++ 文件使用 {compiler} "{src}" -std=c++14 -O2 -o "{exe}"
命令进行编译。
g++(.exe)
,如果你没有配置环境变量,需要使用 --compiler-cpp {path_to_compiler}
参数设置 C++ 编译器路径。python(.exe)
,如果你没有配置环境变量或需要使用 Python3,需要使用 --interpreter-python {path_to_interpreter}
参数设置 Python 解释器路径。
-g gen.py
及 -s std.py
。oigen(.exe) -g gen.py -s std.py --interpreter-python python(.exe)
。当然,你也可以自行魔改 start(.bat/.sh)
。
--show-id
显示数据编号。-f my{}data
设置测试数据文件名,{}
内会填入数据编号。--compiler-cpp g++
设置 C++ 编译器目录。-c {path_to_config}
设置配置文件目录。-t {time} -m {memory}
设置运行时空限制。
--print-used
输出代码运行消耗时间和空间。
-u {path_to_user_code}
设置用户代码目录。
--compare
开启对拍模式。
--compare
默认开启,但只有 -u
参数不为空时才有效。oigen(.exe) -n 1000 -p chk -u usr.cpp -f data --show-id -t 1000 -m 256 --print-used
(你也可以在 start2(.bat/.sh)
里找到这条命令)。chk
目录下对拍 1000 次,并且展示数据编号。以下是配置文件示例:
10
100
1000
@3 这是一组部分分,一共 3 组测试数据
1000000
@4 这也是一组部分分,一共 4 组测试数据
100000000
@10 可以在 '@' 后面写点东西(这组部分分会这样运行:`gen.exe 1000000000`)
1000000000
以上配置最多生成 20 组测试数据,多余的配置会自动舍弃(不会调用数据生成器)。
如果你要生成的测试数据多于 20 组,会自动补齐(多于 20 组的部分命令行参数为空)。
你可以这样生成:oigen(.exe) -n 20 -c conf.txt
(conf.txt
为配置文件名)。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型