Discord

Checklist ONIA 2026 National Stage · Task 2

The Broken Keyboard

Romanian title: Tastatura defectă

Estimate the per-character rotation and noise of a damaged keyboard, detect which character images it can produce, and classify noisy passwords as mostly letters or mostly digits.

  • Vision
  • Image transformation estimation and image classification
  • Romanian original

The task

A keyboard renders each key press as a 28×28 character image in a random font. After damage only 12 keys work (A, B, E, F, O, I, 0, 1, 2, 4, 7, 8), and each produces an image altered by a fixed character-specific noise pattern in [−25, +25], placement on a 42×42 black canvas, a fixed rotation in [−30°, 30°] and clipping to [0, 255].

Using 50 calibration pairs per key, clean reference images and suspect images, the contestant must (1) recover each key's rotation angle, (2) recover each key's noise pattern, (3) decide whether each suspect image shows one of the 12 working characters, and (4) label each captured password (3, 5 or 7 characters) as 'letters' or 'digits' by majority.

Abridged and translated by SOTA from the official Romanian materials. The official statement has the exact rules, and it wins wherever this summary differs.

At a glance

You get
amprente_digitale/ (600 calibration images of 42×84 pixels, original | transformed), imagini_antrenare/ (6,000 clean 28×28 images, 500 per character), imagini_suspecte/ (200 images), parole/ (300 password captures); starter kit. Archive of 5,401,123 bytes.
You submit
A .zip with amprente_digitale.npy (dictionary with angle and 28×28 noise per key) and parole.csv (file, subtaskID 3 or 4, class).
Scoring
Mission 1 (10): 10 × (1 − MAE) for MAE < 1, 0 otherwise. Mission 2 (10): 10 at MAE ≤ 2.5, 10 × (1 − MAE/10) for 2.5 < MAE < 10, 0 at MAE ≥ 10. Mission 3 (30): accuracy, 0 at ≤ 0.50, linear to 30 at ≥ 0.80. Mission 4 (50): accuracy, 0 at ≤ 0.50, linear to 50 at ≥ 0.93.
Rules
  • On-site at the National University of Science and Technology POLITEHNICA Bucharest
  • No internet access; offline resources only (NLTK, spaCy en_core_web_sm, scikit-learn, Gensim glove-wiki-gigaword-50, fastText without pretrained models, distilbert-base-uncased)
  • Downloading models or data is forbidden; allowed documentation listed in the round description
  • Problem statements unlocked with a password handed out in the room
Format
ONIA 2026 national stage, 18 April 2026; same problem for both grade sections.

Details

Year
2026, Bucharest, Romania (POLITEHNICA Bucharest)
Round
National Stage · Task 2
Language
Romanian
License
Not stated by the source