更新情報 - 言語アップデート (2026/09/14)
loop0919 ·
言語アップデート 2026/09/14
2026年9月14日、ジャッジ環境を更新しました。 C#、Java 25、Nim、Go を新たに追加し、C++23 では testlib を利用できるようになりました。
更新作業に伴うメンテナンスは終了しており、現在は提出を受け付けています。 ご協力ありがとうございました。
新たに利用できる言語
| 言語 | 実行環境 |
|---|---|
| C# 14 | .NET 10.0.12 |
| Java 25 | Eclipse Temurin 25.0.4.1+1 |
| Nim | 2.2.10 |
| Go | 1.27.1 |
追加した言語は、通常の提出に加えて、独自の判定コードや対話形式の問題にも利用できます。
C#
次のライブラリを利用できます。
- MathNet.Numerics 5.0.0
- ac-library-csharp 4.1.4
Java 25
ac-library-java 2.0.0 を利用できます。
Nim
次のライブラリを追加しました。
- AC Library
- Arraymancer
- Eigen
- Nim-ACL
- bigints
- bignum_chaemon
- Boost
- FFTW
- GMP
- MPFR
- neo
- nimsimd
- regex
- sat
メモリ管理には refc を採用しています。
Go
次のライブラリを利用できます。
- ac-library-go
- gods
- golang.org/x/exp
- gonum
- gostl
- immutable
各ライブラリはジャッジ環境に配置済みです。 提出コードからインポートして利用でき、提出時のパッケージ取得は不要です。
C++23 の testlib 対応
C++23 の GCC 版と Clang 版に testlib.h を追加しました。
次のようにインクルードできます。
#include <testlib.h>
作問時には、testlib 形式の判定コードも利用できます。
- checker:
registerTestlibCmdを使い、提出の出力を検証する判定コード - interactor:
registerInteractionを使い、提出プログラムと標準入出力で通信する判定コード
対応するのは、AC/WA を判定する checker と、interactor 自身が正誤を判定する対話形式です。 部分点の集計や Polygon パッケージの取り込みは、今回の対応範囲に含まれません。
既存のコードについて
C++23 は、従来の言語選択のまま testlib 対応環境を利用できます。 既存の C++ コンパイラと、従来提供していたライブラリの版は維持しています。
保存済みの独自判定コードは、従来の呼び出し形式で引き続き実行します。 既存問題を testlib 形式へ変更するための一括移行は必要ありません。
公開前には、新旧のランタイムで通常判定、ライブラリ、対話形式、資源制限の検証を行いました。 本番環境でも、公開する12言語と両 C++ の testlib 形式について、計16件の検証提出がすべて AC になることを確認しています。
提出画面の言語選択から、新しい言語をご利用ください。