跳到主要内容

语言支持

洛谷的语言支持如无特别的编译器版本说明,均会随着时间而更新。

除 C/C++/Pascal 外的语言,由于常数时间差距,不保证正确算法的执行所用时间和内存能够通过评测而不超出限制。洛谷不为此类语言提供多余的时间和内存限制。

评测环境中定义环境变量 ONLINE_JUDGE=luogu,若编译器支持也会带上此常量或宏,可据此判断是否在评测环境。

评测机更新时间:2026-10-13,查看 luogu-dev/judge-env。

C/C++ 家族​

GCC 版本当前为 15.3.0。

所有 GCC 编译时均会带上 -fPIC -fno-asm -lm -march=native 参数。

:::caution 注意

为了比赛等情况下的公平,在 C/C++ 代码的编译中,如果出现了通过 pragma 和 attribute 打开优化开关的行为是会导致编译失败的,详见公告贴。不限制使用评测机 CPU 支持的指令集。

:::

类型标识符
ISO C99 (GCC)c/99/gcc
ISO C++98 (GCC)cxx/98/gcc
ISO C++11 (GCC)cxx/11/gcc
ISO C++14 (GCC)cxx/14/gcc
ISO C++17 (GCC)cxx/17/gcc
ISO C++20 (GCC)cxx/20/gcc
ISO C++23 (GCC)cxx/23/gcc

另外,对于 NOI 系列的参赛环境,提供以下专门的编译类型:

类型标识符
ISO C++14 w/ GCC 9.3.0cxx/noi/202107NOI 官网通知

Python 家族​

Python 家族提供 CPython(常用版本)和 PyPy 两种解释器。CPython 环境安装了 NumPy 库。

Python 2 已于 2020 年被官方宣布寿终正寝,因此平台已不再提供支持。

类型标识符
Python 3 (CPython)python3/c
Python 3 (PyPy)python3/py

Pascal​

Pascal 使用 Free Pascal 编译器,当前版本为 3.2.2。

类型标识符
Pascalpascal/fpc

Rust​

Rust 提供 rustc 一种编译器,并使用 nightly 版本、Rust edition 为 2024。

类型标识符
Rust nightly (rustc)rust/rustc

Haskell​

Haskell 提供 Glasgow Haskell Compiler(GHC)一种编译器。

Haskell 环境安装了官网所列举的核心包和常用包(见 Features-Packages 栏)。

类型标识符
Haskell (GHC)haskell/ghc

Go​

类型标识符
Gogo

PHP​

类型标识符
PHPphp

Ruby​

类型标识符
Rubyruby

JavaScript​

JavaScript 提供 Node.js 一种解释器。

类型标识符
Node.js LTSjs/node/lts

Perl​

类型标识符
Perlperl

Java​

Java 使用 OpenJDK 编译。

类型标识符
Java 8java/8
Java 21java/21

Kotlin​

Kotlin 语言提供 JVM 一种编译目标,且 JVM 版本为 21(会随着评测机更新)。

类型标识符
Kotlin/JVMkotlin/jvm

Scala​

Scala 编译目标版本为 21(会随着评测机更新)。

类型标识符
Scalascala