青岛⼤学开源OnlineJudge⽹页批量上传题⽬
这是⼀个⽬录
欢迎阅读我使⽤Markdown编辑器写的⽂章
你好! 这是我第⼀次使⽤ 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⽂件
⽂件夹的序号需不需要连着我还没试过。 需要处理的是json⽂件的内容:
{
"display_id":"题⽬的ID(ID重复会怎么样没试过)",
"title":"题⽬的标题,中⽂是把每个字转换成Unicode编码(之后的值中的中⽂也⼀样)",
"description":{
"format":"html",
"value":"<p>题⽬描述,html语法,要⽤markdown公式的地⽅还是写markdown语法,只不过⾮英⽂字符得换成Unicode编码(挺烦的)</p>"
},
"tags":[
"标签"
],
"input_description":{
"format":"html",
"value":"<p>输⼊描述在这⾥</p>"
},
"output_description":{
"format":"html",
蔡卓妍陈伟霆
"value":"<p>输出描述在这⾥</p>"
},
"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":"<p>提⽰的内容</p>" },
"time_limit":时间限制如1000, "memory_limit":内存限制如256, "samples":[
{
"input":"输⼊样例",
"output":"输出样例"
}
],
"template":{},
"spj":null,
"rule_type":"规则:OI/ACM",
"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格式的题⽬,最后发觉这样实在是太⿇烦了,所以还是⼀道题⼀道题挨个慢慢录的。╮(╯▽╰)╭
因为懒得打字,所以我把每道题的题⽬啊,输⼊啊什么的截图上传到图床上(除了测试样例),再录题的时候直接放的图⽚(这样效率就⾼了很多)。