目录Hydro更新了一个新功能, 可以直接用自带的数据生成器, 在线生成数据, 简单记录一下使用方法
1. 文件准备
- gen.py (数据生成器, 后附模版)
- std.cpp (标准程序, 后附模版)
文件名随意, 其他的类型应该也行, 不过没试.
2.使用步骤
- 将以上两个文件上传到测试数据里
- 在
生成测试数据(Beta)
的两个栏里, 分别填上gen.py
和std.cpp
- 点击生成, 此时会弹出一个界面,
running
并且generating
数据点. - 成功生成完成之后, 检查一下自己的测试数据, 应该已经有若干测试数据了.
3. 注意事项
- 生成器只需要生成输入文件, 我用了文件读写, 不知道用 print 行不行, 用空再试
- 不支持 cyaron, 得自己处理 nix 下的 python 环境, 比如把 cyaron 的包手动传到 Python 里.
4. 文件模版
gen.py
import random
_n = [0, '0', '3', 'a', 'z', 'A', 'Z', '{', '@', '[', '`']
_m = [0, 10, 4, 20, 4, 20, 19, 20, 19, 15, 2500]
nums = range(10000)
for i in range(1, 11):
test_data = open(f"{i}.in", 'w')
n = random.randint(5, 100)
ls = random.sample(nums, n)
for i in range(n):
ls[i] *= random.choice([-1, 1])
test_data.write(f'{n}\n')
test_data.write(' '.join(map(str, ls)))
test_data.close()
std.cpp
#include <bits/stdc++.h>
using namespace std;
int a[110], n;
bool cmp(int a, int b){ return abs(a) > abs(b); }
int main(){
cin >> n;
for (int i = 0; i < n; ++i)
{
cin >> a[i];
}
sort(a, a+n, cmp);
for (int i = 0; i < n; ++i)
{
cout << a[i] << ' ';
}
return 0;
}
标签:std,4.10,int,random,生成器,HydroOJ,test,data
From: https://www.cnblogs.com/bowen404/p/17909307.html