你好! 这是我第一次使用 Markdown编辑器 写博客(一次勇敢的尝试!)。不怎么懂Markdown的语法。写的不好的地方欢迎指出。
最近突然拿到了很多题目和测试样例,需要一一上传到平台上,挨个点增加题目肯定太慢了,需要批量上传。看了官方文档之后发现没有关于批量上传的描述,只有一个从旧版本迁移。然而我根本不能登录服务器,显然做不了那些骚操作。怎么办呢,发现在问题菜单里有一个导入/导出题目,于是这篇博客就出现了!
Build Version: 20190326-74644
需要一个压缩包,目录结构大概是这样的:
ProblemSet.zip
|-1
|–problem.json
|–testcase
|—1.in
|—1.out
|…
|-2
|–problem.json
|–testcase
|—1.in
|—1.out
|…
|…
文件夹的序号需不需要连着我还没试过。 需要处理的是json文件的内容:
{
"display_id": "题目的ID(ID重复会怎么样没试过)",
"title": "题目的标题,中文是把每个字转换成Unicode编码(之后的值中的中文也一样)",
"description": {
"format": "html",
"value": "题目描述,html语法,要用markdown公式的地方还是写markdown语法,只不过非英文字符得换成Unicode编码(挺烦的)
"
},
"tags": [
"标签"
],
"input_description": {
"format": "html",
"value": "输入描述在这里
"
},
"output_description": {
"format": "html",
"value": "输出描述在这里
"
},
"test_case_score": [
{
"score": 这道题的分数如10,
"input_name": "1.in",
"output_name": "1.out"
},
{
"score": 这道题的分数,
"input_name": "2.in",
"output_name": "2.out"
},
{
"score": 这道题的分数,
"input_name": "3.in",
"output_name": "3.out"
},
{
"score": 这道题的分数,
"input_name": "4.in",
"output_name": "4.out"
},
{
"score": 这道题的分数,
"input_name": "5.in",
"output_name": "5.out"
},
{
"score": 这道题的分数,
"input_name": "6.in",
"output_name": "6.out"
},
{
"score": 这道题的分数,
"input_name": "7.in",
"output_name": "7.out"
},
{
"score": 这道题的分数,
"input_name": "8.in",
"output_name": "8.out"
},
{
"score": 这道题的分数,
"input_name": "9.in",
"output_name": "9.out"
},
{
"score": 这道题的分数,
"input_name": "10.in",
"output_name": "10.out"
}
],
"hint": {
"format": "html",
"value": "提示的内容
"
},
"time_limit": 时间限制如1000,
"memory_limit": 内存限制如256,
"samples": [
{
"input": "输入样例",
"output": "输出样例"
}
],
"template": {},
"spj": null,
"rule_type": "规则:OI/ACM",
"source": "来源",
"answers": [
{
"language": "语言",
"code": "传说中的标程,需要换行的地方用\n"
}
]
}
testcase中的输入输出文件需要和test_case_score中的对应。
完成后点 Import QDUOJ Problems (beta) 下的Choose File,然后Upload就行了!!!
不知道Import FPS Problems (beta) 与 Import QDUOJ Problems (beta) 有什么区别,我用的是 Import QDUOJ Problems (beta)。
水平有限,难免有不足之处,还请大佬们不吝赐教!
实际上这种文件结构就是模仿了OJ自带的“导出题目”导出的压缩包。
因为我拿到的是pdf格式的题目,最后发觉这样实在是太麻烦了,所以还是一道题一道题挨个慢慢录的。╮(╯▽╰)╭
因为懒得打字,所以我把每道题的题目啊,输入啊什么的截图上传到图床上(除了测试样例),再录题的时候直接放的图片(这样效率就高了很多)。