# 题目管理

# 一、HOJ题目

在这里插入图片描述

# 1. 导出题目

点击选择需要的题目,便可以批量导出成一个zip压缩包,分别对应一个json格式的题目数据,一个对应名字的文件夹存放评测数据文件,具体的文件结构如下:

+-- problem_1000.json
+-- problem_1000
|   +-- 1.in
|   +-- 1.out
|   +-- ....
+-- problem_1001.json
+-- problem_1001
|   +-- 1.in
|   +-- 1.out
|   +-- ....
1
2
3
4
5
6
7
8
9
10

# 2. 导入题目

选择需要导入的题目数据zip压缩包,注意不要多一层文件夹进行压缩请保证题目json文件的名字与其对应的存放评测数据的文件夹名字一致,具体文件格式如下:

+-- problem_1000.json
+-- problem_1000
|   +-- 1.in
|   +-- 1.out
|   +-- ....
+-- problem_1001.json
+-- problem_1001
|   +-- 1.in
|   +-- 1.out
|   +-- ....
1
2
3
4
5
6
7
8
9
10

# 3. 题目的json文件格式

请严格按照以下格式,才可以正常导入。

{
    // 题目支持的语言如下,可增加与减少
    "languages": ["C", "C++", "Java", "Python3", "Python2",  "Golang", "C#"], 
    "samples": [
        {
            "output": "1.in", 
            "input": "1.out",
            //"score": 10  // 如果是io题目需要给测试点加得分
        },
        {
            "output": "2.in", 
            "input": "2.out",
            //"score": 10  // 如果是io题目需要给测试点加得分
        }
    ], 
    "tags": ["测试题","测试"], // 题目标签,一般不超过三个 
    "problem": {
        "auth": 1, // 1 公开赛
        "author": "admin", // 题目上传的作者,请使用用户名
        "isRemote": false, // 均为非VJ题目,不用修改
        "problemId": "HOJ-1010", // 题目的展示id
        "description": "", // 题目的描述,支持markdown语法
        "source": "", // 题目来源
        "title": "", // 题目标题
        "type": 0,  // 0为ACM题目,1为OI题目
        "timeLimit": 1000, // 时间限制 单位是ms
        "memoryLimit": 256, // 空间限制 单位是mb
        "input": "", // 题目的输入描述
        "output": "", // 题目的输出描述
        "difficulty": 0, // 题目难度,1为简单,2为中等,3为困难
        "examples": "", // 题目的题面样例,格式为<input>输入</input><output>输出</output><input>输入</input><output>输出</output>
        "ioScore": 100, // OI题目总得分,与测试点总分一致
        "codeShare": true, // 该题目是否允许用户共享其提交的代码 
        "hint": "", // 题目提示
        "isRemoveEndBlank": true, // 评测数据的输出是否自动去掉行末空格
        "openCaseResult": true,  // 是否允许用户看到各个评测点的结果
       	// "spjLanguage:"C" // 特殊判题的程序代码语言
        // "spjCode":"" // 特殊判题的代码
    }, 
     "isSpj": false, // 是否为特殊判题
    "codeTemplates": [
        {
            "code": "", // 模板代码
            "language": "C" // 模板代码语言
        }, 
        {
            "code": "", // 模板代码
            "language": "C++"// 模板代码语言
        }
    ]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

# 二、导入qdoj的题目

请严格按照青岛oj的后台导出的压缩文件来上传。

在这里插入图片描述

# 三、导入其它OJ题目

导入HDU、Codeforces题目,只需提供该题目的题号便可一键导入

管理员进入后台,点击题目列表

在这里插入图片描述

然后添加上方的添加按钮

在这里插入图片描述

在弹出窗中选择OJ名字及题号,便可导入

在这里插入图片描述

注意:

  • HDU的题号一般是 1000以上的数字
  • Codeforces的题号是1000A、1000B、这种数字加大写英文字母的格式