Appearance
提交代码
一句话:Neuro OJ 目前只评测 Python 3;实现题面声明的函数,用「提交评测」入队,用「自测」先行验证。
本页说明提交代码的约定:语言选择、函数实现与提交后的流程。
选择语言
| 语言标识 | 说明 |
|---|---|
python3 / python | Python 3(唯一具备评测运行时的语言) |
cpp / c / javascript | 接口预留标识,无评测运行时,无法评测 |
运行时现状
当前评测运行时仅完整支持 Python(多语言评测为项目的决策性不做项)。编辑器中的语言下拉固定为 Python 3,请始终用 Python 提交。
题目详情页与编辑器当前只提供 Python 3;提交记录筛选器仍列出其他语言标识,仅用于查看历史,不代表可评测。
实现题面要求的函数
优先实现题面声明的函数。例如:
python
def solve(a: int, b: int) -> int:
return a + b不要依赖顶层 print() 作为答案输出——Neuro OJ 的 Python 双容器评测通过 Solution Host 加载你的模块,由 evaluator 调用函数评分。
函数是如何被调用的
Solution Host 会自动注册模块中的顶层函数(无需显式装饰器):只要函数名与题面声明一致,evaluator 就能按名调用。把答案写在函数体内,而不是模块顶层。
调试输出
print() 可以用于辅助调试,但它不是答案通道。
调试信息看不到
当前 Solution 容器的 stdout 是评测协议通道,用户代码直接 print() 的普通文本会被协议层丢弃,不会作为评测输出展示。请把要反馈的中间值作为函数返回值或写入 evaluator 能读取的数据,不要依赖 print() 查看调试信息。
代码限制
| 限制项 | 数值 | 说明 |
|---|---|---|
| 代码体积 | 100KB | 提交时按字符数校验,超出直接拒绝 |
| 输出展示 | 8KB | 提交详情中的评测输出超出即截断(数据库保留完整内容) |
| 时间 / 内存 | 由题目决定 | 由题目的运行时配置设定,超出得到对应的资源限制状态 |
产物提交
若题目标记为「产物提交(artifact)」,请上传一个 zip 文件,而不是填写代码。
产物提交的约定
- Judge Worker 会将 zip 解压到 Solution 容器的
/workspace,并从约定的submission.py入口加载。 - 上传仅支持
.zip,且必须校验为有效 zip(PK 头);实际大小上限取「题目配置上限」与「系统硬上限(默认 2GB)」中的较小值。 - 题目可能要求使用
noj-solution-ai提供的 CPU PyTorch、CV/ML 依赖。
产物提交不可重测
产物提交在评测完成后即删除存储对象,不支持重测。如需修改产物,只能重新提交。
自测
编辑器顶部的「自测」按钮会向评测队列提交一个 self_test 任务,用你当前编辑器中的代码运行一次评测。它不进入正式提交记录,适合在正式提交前快速验证语法、函数签名与基本行为。
- 自测与正式提交走完全相同的评测流程,状态同为
pending/judging/finished/error。 - 同样受代码大小、语言与运行时配置限制。
- 结果在编辑器侧栏与「评测队列」页可见;自测不参与统计、榜单与 AC 判定。
提交后
- 任务进入评测队列,编辑器侧栏实时显示状态徽章与已等待时长。
- 在「提交记录」页查看全部历史,可按题目、语言、状态筛选(日期范围筛选由 API 支持,界面筛选栏主要为题目 / 提交编号 / 语言 / 状态)。
- 打开单条提交查看详细结果;排队中会在提交详情页显示
#排队位置/队列长度。
提交详情页展示状态徽章、得分、用时与内存、标准输出与代码。
可见性
代码、评测输出与用例级详情仅提交者本人和管理员可见;其他用户只能看到状态、得分、用时与内存。
常见错误
| 现象 | 可能原因 | 处理 |
|---|---|---|
函数不存在(NotFoundError) | 函数名与题面声明不一致,或模块导入失败(如顶层语法错误) | 核对函数名与签名,确认模块可正常导入 |
finished + 0 分或部分分 | 返回值类型 / 结果不满足评分条件 | 对照题面的输入输出约定检查返回值 |
error | 评测环境、镜像或题目配置异常 | 通常不是改代码能解决的,请联系运营者 |
完整状态说明见理解结果。