功能目录与快速开始

提交代码、在线测试与评测结果

适用场景:学生 / 选手 · 教师 / 教练 · 域 / 平台管理员

指南说明通用操作。当前域的权限、报名状态、时间限制及教师设置决定你能使用的选项。

操作步骤

  1. 阅读题目的提交类型和输入输出要求,点击“提交”。
  2. 选择正确的语言与版本。提交什么语言写的代码,这里就选什么语言。
  3. 粘贴完整源码,或上传文件。提交答案题应按页面说明上传答案文件。
  4. 如果题目侧栏提供“在线编程模式”,可以先用样例或自定义输入运行自测;具体步骤见下文。
  5. 正式提交后打开评测记录,查看状态、得分、运行时间、内存和允许公开的测试点信息。
  6. 修改代码后重新提交;评测记录页可以回看自己的历史尝试。

在线编程与自测

从题库、课程或比赛中打开一道可以访问并提交的题目,在题目侧栏点击“在线编程模式”。选择语言并编写完整程序。普通编程题支持自测;远程评测题取决于对应语言是否支持本地自测,交互题、提交答案题等类型不提供此操作。学生、教师和管理员均按当前题目、比赛及语言的提交权限操作。

  1. 编辑器底部显示“自测”区,依次填写“输入数据”和“期望输出”。题面样例旁的“填充到自测”会同时填入样例输入与输出,并展开自测区。
  2. 填写期望输出后会自动勾选“比较期望输出”。如果预期没有任何输出,保持期望框为空,手动勾选比较;只想查看运行结果时取消勾选。
  3. 点击“运行自测”,或按 F9。等待编译和运行结束,在“实际输出”中查看程序输出。
  4. 启用比较时显示“与期望输出一致”或“与期望输出不一致”;不一致时显示第一处差异的行号、列号以及期望和实际字符,空格、换行、制表符和输出结束会明确标注。
  5. 编译失败、运行错误、超时等会显示对应状态;展开“编译与诊断”查看编译信息和程序标准错误输出。程序标准错误输出不会参与结果比较。
  6. 可以拖动代码与自测区之间的分隔线调整高度,点击“收起”隐藏,再用顶部“自测”按钮展开。手机上输入输出纵向排列,使用左侧“题目”按钮切换题面与代码。

比较会统一 Windows、Linux 的换行符,忽略行末的空格与制表符(Tab),并忽略输出末尾的一个换行;行首、行内的空白及额外空行仍须一致。比较时忽略的行末空白仍会保留在实际输出中。这是对自定义期望文本的比较,不代替题目正式判题,尤其不能代替特判或浮点误差判定。程序执行失败、输出被截断或评测端未提供独立输出时,不会显示比较通过。每路输出超过 102400 个字符时会截断并停止比较。

修改代码、语言、输入或期望输出后,旧结果会标记“内容已修改,请重新运行”。自测受到站点次数限制,按钮倒计时结束后才能再次运行;正式提交仍通过原有“递交评测”操作完成。

结果怎样理解

状态 意思 优先检查
AC / Accepted 本次提交通过 是否处于正确的课程或比赛上下文
CE / Compile Error 编译失败 所选语言、语法、编译信息
WA / Wrong Answer 答案不正确 算法、边界、输入输出格式
TLE / Time Limit Exceeded 运行超时 复杂度、死循环、输入规模
MLE / Memory Limit Exceeded 内存超限 数组规模、容器、递归与内存使用
RE / Runtime Error 程序运行错误 越界、除零、非法访问、栈空间
System Error 评测系统出错 保留记录链接,向管理员反馈

Waiting、Fetched、Compiling、Judging 表示尚未得到最终结果。比赛可能按赛制隐藏部分反馈,不能据此判断评测出了故障。

文件输入输出

默认情况下,题目通常使用标准输入输出。如果题面或提交页要求文件输入输出,要使用指定的文件名,注意大小写与后缀。页面提供快捷输入输出工具时,也要核对生成的代码是否符合本题要求。

常见问题

  • 样例正确却没有通过: 隐藏数据可能覆盖更大的规模和更多的边界情况。
  • 看不到自测或无法运行: 核对题目类型、所选语言、提交权限和当前比赛限制;如果只是收起了面板,可点击顶部“自测”。
  • 看不到其他人的代码: 代码查看受域权限、比赛时间和题目设置的限制。
  • 队列一直不动: 查看服务状态,反馈记录链接及等待时间,避免连续重复提交同一份代码。

接下来可以阅读