资源描述
sicily course使用指南
一、普通使用
二、管理界面
附录
附录一 Problem实例
一、普通使用
1. 使用浏览器访问sicily系统(http://soj.me) 使用管理帐号(例如《数据结构与算法》课程组管理账号dsa)登陆。进入到sicily主界面(图1)。
图1 sicily主界面
2. 点击主界面的Courses菜单,进入如下Courses主界面(图2):
图2 Course界面
选择course,如:
Course ID = 12,Course Name = "数据结构与算法实验(教师专用)"
或者直接通过以下url访问:
http://soj.me/course_detail.php?course_id=12
3. “数据结构与算法实验(教师专用)”course界面如下(图3):
图3 “数据结构与算法实验(教师专用)”course界面
Course Detail列出课程基本信息。
Current Exercises下列出了该course的所有exercises。exercise一般对应于course的某一章或者某个专题。
4. 在course界面下,点击某一exercise,即可进入如下exercise界面(图四):
图4 exercise界面
本界面列出某个exercise下的所有Problem。
5. 在exercise界面下,点击某一problem,即可进入如下problem界面(图5):
图5 Problem界面
6. 在Problem界面下,看清题意和输入输出要求,完成代码编写、测试后,点击”Submit”按钮,进入problem submit界面如下(图6):
图6 problem submit界面
在Language下拉菜单选择代码语言(默认为GNU C++ 4.4.3),将代码粘贴到Source文本框,按"Submit"按钮提交。
7. 系统接受提交后返回处理结果,如下图(图7):
图7 Problem提交结果
处理结果含义如下:
Waiting: Your program is being judged or waiting to be judged.
Accepted (AC): Congratulations! Your program has produced the correct output!
Presentation Error (PE): Your program's output format is not exactly the same as required by the problem, although the output is correct. This usually means the existence of omitted or extra blank characters (white spaces, tab characters and/or new line characters) between any two non-blank characters, and/or blank lines (a line consisting of only blank characters) between any two non-blank lines. Trailing blank characters at the end of each line and trailing blank lines at the of output are not considered format errors. Check the output for spaces, blank lines, etc. against the problem's output specification.
Wrong Answer (WA): Your program does not produce the correct output. Special judge programs will possibly return Wrong Answer in place of Presentation Error for simplicity and robustness.
Runtime Error (RE): Your program has failed during the execution. Possible causes include illegal file access, stack overflow, out of range in pointer reference, floating point exception, division by zero and many others. Programs that stay not responding for a long time (not consuming CPU cycles) may also be considered to have encountered runtime errors.
Time Limit Exceed (TLE): The total time your program has run for has exceeded the limit.
Memory Limit Exceed (MLE): The maximum amount of memory that your program has used has exceeded the limit.
Output Limit Exceed (OLE): Your program has produced too much output. Currently the limit is twice the size of the file containing the expected output. The most common cause of this result is that your programs falls into an infinite loop containing some output operations.
Compile Error (CE): The compiler fails to compile your program. Warning messages are not considered errors. Click on the judge's reply to see the warning and error messages produced by the compiler.
No such problem: Either you have submitted with a non-existent problem id or the problem is currently unavailable (probably reserved for upcoming contests).
Restricted Function: Your program has used some restricted function, e.g., freopen() or fopen().
二、管理界面
1. 使用浏览器访问sicily系统(http://soj.me) 使用数据结构与算法课程组管理账号dsa登陆。进入到sicily主界面(图1)。
图1 sicily主界面
2. 点击主界面的Management菜单,进入如下Management主界面(图8):
图8 Mangement主界面
3. Mangement主界面(图8)中,选择View Courses,进入View Courses(图9),可见到用当前登录账号dsa创建的所有Course。
图9 View Course界面
选择”Delete”,可以删除对应的course。
选择”Edit”,可以编辑Course基本信息。
4. View Course界面(图9)中,点击某个具体course名称,可进入该course的Course Management界面(图10)。
图10 Course Management界面
本界面最下方的Current Registrantions部分列出已注册本课程的用户列表,对不希望存在于本course的用户,管理者可以将其Kick out。
Current Exercises部分列出本course中所有exercise。
对某个Exercise,点击”Delete”可以删除该exercise;点击“View Standing”可以查看该课程用户做题的情况; 点击”Edit”可以编辑exercise信息,其中包括权限设置(图11)。
5. Course Management界面(图10)中,点击某个Exercise的”Edit” Operation,可以进入Edit Exercise界面(图11)。
图11 Edit Exercise界面
Current ID
自动生成,唯一标识一个Exercise
Title
Exercise标题
Start Time
Exercise开始时间
During
Exercise持续时间
Accessibility
设为Admin only则只有创建course的管理员才能在Course中看到本Exercise。
设为All users则所有用户都可以在Course中看到本Exercise。。
Authorization
设为Public则所有人可进入Exercise。
设为Password则只有输入正确密码才能进入Exercise。
Add problems to normal problem respostry
决定是否将本Exercise中的Problem加入Sicily普通problem列表
Information
Exercise说明信息
6. Course Management界面(图10)中,点击某个Exercise的名称,可以进入Edit Exercise界面(图12)。
图12 Exercise Problems Management界面
本界面Current Problems部分列出本Exercise中所有problem。
Current Exercises部分列出本course中所有exercise。
Problems Operation
Inc Index
改变Problem的Id in Contest
Dec Index
改变Problem的Id in Contest
Edit
设置Problem,见图13
Export
将Problem导出为压缩包,方便以后添加新Problem的时候导入
Rejudge Alll
重新测试所有用户提交,一般更新题目数据后使用
Rejudge Non-ac
重新测试所有用户未Accept的提交,一般更新题目数据后使用
Delete
删除Problem
7. Edit Problem界面
图12 Edit Problem界面
Edit Problem设置
Contest ID
即是Problem所在Exercise的ID,自动生成
ID
Problem ID,唯一标识一道Problem,自动生成
Title
Problem名字
Time Limit
时间限制
Memory Limit
内存限制
Problem
问题描述
Input
输入格式描述
Output
输出格式描述
Author
作者
Hint
问题提示
Sample Input
输入样例
Sample Output
输出样例
Special Judge
特殊判定,一般不需要用。
Judge with framework
框架测试。见附件1。Problem实例
Data Mode
Unchanged 不改变测试数据(输入/输出)。
Rewrite 改写测试数据(输入/输出)。
Append 添加一组新的测试数据(输入/输出)
archive dataset upload
以压缩包形式上传测试数据,一般不用。
Input Data0
输入数据0,以文件形式给出一组输入为一个单独的文件;对应的一组输出也为一个单独的文件
Input Data1
对应输入数据0的输出数据,以文件形式给出
Add testdata
点击再加一组测试数据
Edit Problem
提交
附录
附录一 Problem实例
此附录通过实例解释如何添加一个Problem。
Problem 1 一般Problem
Problem Title A-B
完整题目至少需要包含以下3个文件。
/* Source file: source.cpp
标程
*/
#include <iostream>
using namespace std;
int main()
{
int A, B;
cin >> A >> B;
return A-B;
}
/* Input file: in.txt
测试数据(输入)
*/
100 9
/* Output file: out.txt
测试数据(对应输入)
*/
91
Edit Problem设置
Contest ID
自动生成
ID
自动生成
Title
A-B
Time Limit
1 s
Memory Limit
256 M
Problem
Input integer A and B, output A-B
Input
Input two integers, A and B
Output
Output the result of A-B
Author
Hint
Sample Input
3 1
Sample Output
2
Special Judge
不需要。
Judge with framework
不需要。
Data Mode
Rewrite 改写测试数据(输入/输出)。
Input Data0: in.txt
Output Data0:out.txt
Add Test Data: 点击可以再添加一组测试数据。此例可不需要。
Edit Problem
提交
实例2 需要Special Judge的Problem
Problem Title A+B
完整题目至少需要包含以下4个文件。
/* Source file: source.cpp
标程
*/
int add(int a, int b)
{
return a+b;
}
/* Framework file: framework.cpp
测试时framework中的代码会与用户提交的实现代码(如source.cpp)结合在一起编译,然后进行测试。
*/
#include <iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
cout << add(a,b) << endl;
}
/* Input file: in0.txt
测试数据(输入)
*/
2 1
/* Output file: out0.txt
测试数据(对应输入)
*/
3
/* Input file: in1.txt
测试数据(输入)
*/
100 9
/* Output file: out1.txt
测试数据(对应输入)
*/
109
Edit Problem设置
Contest ID
自动生成
ID
自动生成
Title
A+B
Time Limit
1 s
Memory Limit
256 M
Problem
Implement with the following interface to return the sum of two integer:
Int add(int a, int b)
Input
不需要描述,因为用户只需提交add() function的实现
Output
不需要描述,因为用户只需提交add() function的实现
Author
Hint
请只提交add() function的实现,不要提交main()函数。
Sample Input
不需要描述
Sample Output
不需要描述
Special Judge
不需要。
Judge with framework
需要。选择Enable
Framework source code: framework.cpp
Data Mode
Rewrite 改写测试数据(输入/输出)。
Input Data0: in0.txt
Output Data0:out0.txt
Add Test Data: 点击再添加一组测试数据。
Input Data0: in1.txt
Output Data0:out1.txt
Edit Problem
提交
展开阅读全文