/ Test /

Help

Domain

This part of content is under translation.

每个用户可以创建自己的域。比如,老师可以为课程创建一个域,然后把题目和学生加入到此域中。再如,可以把域作为团队功能。

通过合理的设置角色及其权限,可以把域设为公开或私有。

默认域为Vijos,用户直接访问Vijos域名就会访问此域,点击Vijos Logo会从任意域跳转回Vijos域。

每个域的题库、讨论、训练以及比赛是独立且自治的。

Compilers' Version and Parameters

This part of content is under translation.

Vijos使用jd4进行评测,以docker镜像的形式安装至评测机。所使用的编译器均为创建镜像时debian testing分支的最新版。编译参数如下:

  • Free Pascal
    fpc -O2 -o/out/foo /in/foo.pas
  • C
    gcc -O2 -Wall -std=c99 -o /out/foo /in/foo.c -lm
  • C++
    g++ -O2 -Wall -std=c++11 -o /out/foo /in/foo.cc -lm
  • Java
    javac Main.java
  • Python
    python foo.py
  • Python 3
    python3 foo.py
  • PHP
    php foo.php
  • Rust
    rustc -O -o /out/foo /in/foo.rs
  • Haskell
    ghc -O -outputdir /tmp -o /out/foo /in/foo.hs

Limitations

This part of content is under translation.

Vijos 评测机使用进程的CPU时间计算时间消耗,时间的限定为题目中评测点所指定的时间。

Vijos 评测机使用进程虚拟内存与物理内存总和计算内存空间消耗。内存空间默认限定为256MiB,题目中特别指明的,限定为题目中评测点所指定的内存空间。

IO

This part of content is under translation.

Vijos 支持且仅支持标准输入输出(控制台输入输出,屏幕输入输出,STD I/O),不支持文件输入输出。

Judge Status

This part of content is under translation.
  • Waiting 评测:评测请求正在等待被评测机抓取
  • Fetched 评测:评测请求已被评测机抓取,正在准备开始评测
  • Compiling 评测:正在编译中
  • Judging 评测:编译成功,正在评测中
  • Accepted 通过:程序输出完全正确
  • Wrong Answer 不通过:程序输出与标准答案不一致(不包括行末空格以及文件末空行)
  • Time Exceeded 不通过:程序运行时间超过了题目限制
  • Memory Exceeded 不通过:程序运行内存空间超过了题目限制
  • Runtime Error 不通过:程序运行时错误(如数组越界、被零除、运算溢出、栈溢出、无效指针等)
  • Compile Error 不通过:编译失败
  • System Error 错误:系统错误(如果您遇到此问题,请及时在讨论区进行反馈)
  • Canceled 其他:评测被取消
  • Unknown Error 其他:未知错误
  • Ignored 其他:被忽略
有“成绩取消”字样则说明管理员手动标记此记录为取消,可能违反了服务条款,比如代码被发现与其他用户的代码十分相似。

Stderr

This part of content is under translation.

stderr shows the debug message outputed to the standard error file (STDERR_FILENO: 2)

For example, in C++, it is std::cerr

Compile Error

This part of content is under translation.

可能有以下情况:

  • 1. 递交时选错了编程语言
  • 2. Java 的主类名没有使用 "Main"
  • 3. 对于 C/C++:见下
  • 4. 一般性的编译错误

对 C/C++ 选手的特别提醒:

  • 1. __int64 在 GNU C++ 中应写成 long long 类型
  • 2. main() 返回值必须定义为 int ,而不是 void
  • 3. for 语句中的指标变量 i 将会在如"for (int i = 0...) {...}"语句之后变为无效
  • 4. itoa 不是一个通用 ANSI 函数(标准 C/C++ 中无此函数)
  • 5. printf 中使用 %lf 格式是不正确的

Training

This part of content is under translation.

我们精心挑选了一些题目组成了训练计划。单击导航栏的“训练”即可进入!

Contest

This part of content is under translation.

按照赛制不同,有不同的递交、排名规则。

OI 赛制所有题目均以最后一次递交为准,特别地,请避免编译错误。

OI 赛制排名规则为:总分高的排在前面,总分相等则排名相同。

ACM/ICPC 赛制所有题目递交后立即评测,以是否通过为准。

ACM/ICPC 赛制排名规则为:通过题目数多的排在前面,通过题目数相同的做题耗时(含罚时)少的排在前。

时间与空间限制以题目说明为准,默认限制参见Limitations

Accepted Ratio

This part of content is under translation.

通过率的影响极其恶劣,现在 Vijos 不提供也不承认通过率。

RP Algorithm

This part of content is under translation.

Vijos RP 分为固定 RP 与浮动 RP ,固定 RP 可由活动、比赛等的奖励获得,浮动 RP 由一般性通过题目获得。

浮动 RP 是一个动态的数值,每个用户在每道题上获得的 RP 都不一样,并且未来也不固定(即浮动之意)。

每道题的浮动 RP 由该题通过总人数与该用户通过此题的名次计算得来。

Difficulty Algorithm

This part of content is under translation.

Vijos 中题目的难度,根据递交数、通过率以及每个递交的递交时间和评测结果,通过算法计算得出。

因此,请注意以下几点:

  • 0. 一般地,难度的数值越大,该题目越难。
  • 1. 新题目的难度可能不准确;在题目获得大量递交之后,难度才会变得较为准确。
  • 2. 越早递交评测的用户代码的评测结果对题目难度影响越大。
  • 3. 题目的难度由算法计算得出,有可能出现不准确的结果。

Dataset Format

This part of content is under translation.

我们只接受后缀名为zip的数据包上传,必须包含以下内容:

  • - Config.ini: 题目配置文件
  • + Input (目录): 放置所有标准测试输入文件
  • |- input0.txt
  • |- input1.txt
  • |- ...
  • + Output (目录): 放置所有标准测试输出文件
  • |- output0.txt
  • |- output1.txt
  • |- ...

Config.ini格式

第一行包含一个整数n,表示总共有n组数据(即Input目录中文件总数等于Output目录中文件总数等于n);

接下来n行,第k行代表第k个测试点,格式为:

[输入文件名]|[输出文件名]|[时限(单位为秒)]|[得分]|[内存限制(单位为KiB)]

其中,输入和输出文件名为 Input 或者 Output 目录中的文件名(不包含Input或者Output目录),且所有数据点得分之和必须为100,如:
input0.txt|output0.txt|1|10|

Forgot Password and/or Username

This part of content is under translation.

如果您无法登录,请仔细想想,是不是用户名记错了。比如,自己原本想要注册的用户名已经被注册,所以使用了一个带有前和/或后缀的用户名。

如果您确信您的账号被盗或者忘记了账号和/或密码,请及时Reset Password or Find Username