java编译器oj_HZNUOJ

本文介绍了HZNUOJ在线判题系统的环境参数,包括不同语言的编译器版本和编译选项。文章还详细阐述了程序输入输出方式、测评结果的含义、常见编译错误以及比赛的相关信息,如比赛类型、赛制、排名规则等。此外,还提到了HZNUOJ的题目管理和积分规则。
摘要由CSDN通过智能技术生成

环境参数

系统运行于Ubuntu 16.04

对应的编译器和编译选项如下:

语言

编译器版本

编译选项

C

gcc 4.8.5

gcc Main.c -o Main -fno-asm -O2 -Wall -lm --static -std=c99 -DONLINE_JUDGE

C++

g++ 4.8.5

g++ Main.cc -o Main -fno-asm -O2 -Wall -lm --static -std=c++11 -DONLINE_JUDGE

Pascal

Free Pascal 2.6.2

fpc Main.pas -oMain -O1 -Co -Cr -Ct -Ci

Java

openjdk 1.8.0_232

javac -J-Xms32m -J-Xmx256m Main.java (Languages except C/C++ has 2 more seconds and 128M more memory when running and judging.)

Ruby

1.9.3

Bash

4.3.11

Python2

2.7.6

Python3

3.4.3

PHP

7.0

Perl

perl 5 version 18

C#

mono 3.2.8

Lua

5.2.3

例题示范

你的程序应该从标准输入 stdin('Standard Input')获取输出 并将结果输出到标准输出 stdout('Standard Output').例如,在C语言可以使用 scanf ,在C++可以使用cin 进行输入;在C使用printf ,在C++使用cout进行输出. 用户程序不允许直接读写文件, 如果这样做可能会判为运行时错误 "Runtime Error"。

详见1000题hint中各种语言的参考答案。

测评结果释义

评测结果

缩写

含义

Pending

PD

您的提交正排队等待评测。

Pending Rejudge

PR

因为数据更新或其他原因,系统将重新判你的答案。

Compiling

CP

您提交的代码正在被编译。

Running & Judging

RN

您的程序正在运行。

Judging

JG

我们 正在检查您程序的输出是否正确。

Accepted

AC

恭喜!您的程序通过了所有数据!

Presentation Error

PE

您的程序输出有格式问题,请检查是否多了或者少了空格 (' ')、制表符('\t')或者换行符('\n')

Wrong Answer

WA

您的程序输出结果错误。

Runtime Error

RE

您的程序在运行时发生错误。

Time Limit Exceeded

TLE

您的程序运行的时间已经超出了题目的时间限制。

Memory Limit Exceeded

MLE

您的程序运行的内存已经超出了题目的内存限制。

Output Limit Exceeded

OLE

您的程序输出内容太多,超过了这个题目的输出限制。(一般输出超过答案2倍时会触发,强制终止程序,防止恶意输出对硬盘造成压力)

Compile Error

CE

您的程序语法出现问题,编译器无法编译。

System Error

SE

评判系统内部出现错误 ,我们会尽快处理。

Out Of Contest Time

OCT

考试已经结束,不再评测提交。

常见编译问题

有的时候你的程序在本地能编译通过,但提交OJ后却显示编译错误。

这多见于C/C++,一般是因为你本地用的是VS,VS的编译器是MS-VC++,而OJ用的是G++,这两个编译器的标准略有不同,G++更符合标准,下面列出一些常见的导致CE原因:

main 函数必须返回int, void main() 的函数声明会报编译错误。

itoa 不是ansi标准函数.

__int64 不是ANSI标准定义,只能在VC使用, 但是可以使用long long声明64位整数。

如果你使用JAVA语言,请注意类名一定要是Main, 否则也会返回CE。

比赛相关

比赛的类型

目前HZNUOJ有四种类型的比赛:

practice,练习赛,只是简单的把题目归个类做做练习,相应题目不会从problemset中隐藏,且通过后可以立即进入题目的status里查看别人的代码。

public,公开的比赛,任何人均可进入参加。

password,设有密码保护的比赛,只有输入正确密码才能进入。

special,特殊比赛,只有使用专门发放的账号才能进入。

比赛赛制

HZNUOJ所有类型的比赛均为ACM/ICPC赛制。

每场比赛设有若干道题目,比赛开始后,参赛者需在时限内去解决这些题目。

每场比赛都设有实时榜单,榜单排名规则也与ACM/ICPC相同。

ACM/ICPC排名规则

每题耗时:Accepted的那一刻距离比赛开始的时间。

总罚时:所有AC了的题的(耗时+错误次数*20min)的和。

排名时,AC题数优先,题数相同时按罚时排序。

有些比较正式的比赛设有封榜机制,即比赛最后一段时间内的提交结果将隐藏(除了自己都不可见),榜单也会停止更新,新的提交会显示为灰色,留作最后滚榜用。

滚榜机制介绍

滚榜是ACM/ICPC系列比赛中一个十分具有特色的机制。

在正规ACM/ICPC系列比赛中,比赛最后一个小时的提交结果是隐藏的,只有选手本人能看到,在榜单上会显示成代表未知的灰色,以增加比赛紧张气氛。

然后在颁奖会上,将从榜单最后一名开始,一个个揭晓灰色的未知提交,一旦揭晓的结果为通过,这个人的排名就会上升,否则这个人的排名确定,开始揭晓下一个人,以此类推。这样一来,可以从后往前一个个确定最终排名,一旦名次达到获奖名次内,可以直接进行颁奖。整个过程惊险刺激,是整个比赛的亮点所在。

题目相关

HZNUOJ的所有题目均在ProblemSet 中,每个题目都有一个唯一的数字编号,称为Problem ID。

每当你AC了一道题,你就有权限查看这题所有的提交代码,借鉴参考大神们的写法,从而更上一层楼。

比赛的所有题目,都是从ProblemSet中选出来的,是它的子集。

当一道题被选入某个非practice模式的比赛中之后,为公平起见,它会在ProblemSet中被隐藏掉,在比赛结束后恢复。

一般如果题目突然不见了,可能就是这个原因,当然也有可能是因为其他原因而被管理员手动隐藏了。

当然,一般比赛的题都是新出的,比赛结束后才第一次在ProblemSet中露面。

选入比赛中的题目,在比赛界面中,会隐藏掉原来的Problem ID,取而代之的是A, B, C...的代号。在比赛结束后,会在标题旁边显示真正的Problem ID,可以点击前往ProblemSet补题。

积分规则

HZNUOJ的ProblemSet中设有一个榜单,积分和等级的计算规则如下。

等级由实力(Strength)决定,当实力达到一定值后自然会升级,而实力又从刷题中来,每道题后面均标有分数(Scores),代表AC这道题之后能提升多少实力。一般来说,越少人做的题目,分数越高,一起刷题的人越多,每道题的分数也越高。需要说明的是,用户的实力值是会根据大环境动态变化的(其实是因为分数在动态变化),如果你AC的题目被更多人AC出来了,你的实力值会下降,另外一方面,OJ内有更多强者涌入的时候,你的实力值也会提升。所以,想要快速升级,那就多刷题,刷难题!

等级划分与小说《斗破苍穹》一致,自低向高分别为斗之气、斗者、斗师、大斗师、斗灵、斗王、斗皇、斗宗、斗尊、斗圣、斗帝,除斗帝外,每一阶又分不同等级,阶数越高,升级越困难。除此之外,每一阶还有不同的代表颜色,该阶等级越高,颜色越深。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值