Problem repository of OSN 2024 (also known internationally as TOKI Indonesian NOI Open Contest 2024).
Alias | Slug | Title (id) | Title (en) | Type |
---|---|---|---|---|
0A | osn-2024-histori |
Riwayat Bebek | Duck History | Batch |
0B | osn-2024-harta |
Harta Karun Nasional | National Treasure | Interactive |
0C | osn-2024-mosaik |
Mosaik Monokrom | Monochrome Mosaic | Output-Only |
1A | osn-2024-pusat |
Pemerintahan Pusat | Central Government | Batch |
1B | osn-2024-rotasi |
Pertahanan Batavia | Batavia Defense | Batch |
1C | osn-2024-batik |
Batik Betawi | Betawi Batik | Batch |
2A | osn-2024-macet |
Mobil Manual | Manual Car | Batch |
2B | osn-2024-krl |
Kereta Rel Listrik | Electric Railway Trains | Batch |
2C | osn-2024-mikroba |
Mikroba Ciliwung | Ciliwung Microbes | Interactive |
Alias | Slug | Problem Author(s) | Developer(s) |
---|---|---|---|
0A | osn-2024-histori |
Ammar Fathin Sabili | Ammar Fathin Sabili |
0B | osn-2024-harta |
I Nyoman Narayan Kitas Utama | Ammar Fathin Sabili |
0C | osn-2024-mosaik |
Ahmad Zaky | Ammar Fathin Sabili |
1A | osn-2024-pusat |
Mushthofa | Christoffer Edbert Karuniawan |
1B | osn-2024-rotasi |
Maximilliano Utomo Quok | Maximilliano UQ, Pikatan AB, Wahyono |
1C | osn-2024-batik |
Pikatan Arya Bramajati | Pikatan Arya Bramajati |
2A | osn-2024-macet |
Pikatan Arya Bramajati | Andrew |
2B | osn-2024-krl |
Ashar Fuadi | Yohandi |
2C | osn-2024-mikroba |
Ammar Fathin Sabili | Ammar Fathin Sabili |
Maximilliano Utomo Quok and Mushthofa also developed unpublished (backup) problems.
The problem statements and upsolving are available on TLX.
The editorial can also be found on the same link.
Each problem contains a problem directory root.
A problem directory root contains the following files and directories:
- ID problem description (
description-id.html
) - EN problem description (
description-en.html
) - Model solution (
solution.cpp
) - Subtasks solution (
solution-<subtask-number>.cpp
) - Test case generator (
spec.cpp
) - Configuration file (
config.json
) - Alternative solutions (
solution-<author>-<verdict>-<solution-name>.cpp
) - Render directory (
render/
) - Helper directory (
helper/
) - Communicator (
communicator.cpp
) - Output validator (
scorer.cpp
)
Problem description in Bahasa Indonesia. The HTML file uses Katex syntax to render the math equations. There is a description header file in utils/
to render the preview.
Problem description in the English language.
The solution used to generate the test cases.
Solutions that are used to test the subtasks.
Test case generator using tcframe 1.6.0.
A JSON object that may help with the automation of choosing the correct settings in online judges. There is a config script file in utils/
to configure the test data files automatically.
Possible configs in this file:
time_limit
(number in ms)memory_limit
(number in kB)samples
(a list of lists that maps a sample to its subtasks)test_groups
(a list of lists that maps the test group to its subtasks)points
(a list containing the points of each subtask)interactive
(a boolean)
Several alternative and incorrect solutions for testing.
The assets (usually images) that are used by the HTML description file.
Scripts that may help with problem preparation or the raw files of the assets in render/
.
For communication in interactive problems using tcframe format.
To validate solutions that do not use exact match (may contain multiple solutions or require precision handling) using tcframe format.
All tasks and materials are published under the Creative Commons Attribution (CC-BY) License.