/arhiva-info

An archive of problems from Informatics Olympiads

Primary LanguageC++

Arhiva de info

O arhivă care sper să devină cât se poate de completă cu probleme din trecut de la olimpiade de info.

Concursurile la care mă gândeam că trebuie track-uite ar fi:

  • OJI / ONI
  • Loturi
  • BOI
  • CEOI
  • IATI

Pentru a contribui, vezi aici. Orice issue este bine-venit. La fel și pull request-urile, dar citește secțiunea de contribuții mai întâi.

Utilizare arhivă

Pe GitHub nu poți să descarci subdirectoare particulare. Pentru asta, poți folosi download-directory.

Format arhivă

O problemă trebuie să aibă patru directoare: enunt, teste, editorial, surse. Foarte important să fie cu litere mici toate. Opțional, poate exista și câte un README.md ca să poate fi citit ușor. De asemenea pentru a merge cu scriptul de aici care se uită peste tot și face un rezumat este să existe o linie goală la sfârșitul readme-ului ca să nu arate urât formatarea.

Dacă pentru o problemă nu s-a găsit ceva, de exemplu teste, sau ceva, puneți un fișier missing.md. Dacă ați găsit ceva, dar nu este complet sau este ceva stricat la structură, atunci puneți un fișier broken.md. În mod similar, fișierele trebuie să aibă litere mici, deoarece scriptul este case-sensitive.

Pentru o colecție mai mare de probleme, se pot pune oricum, dar ar fi bine să existe o ordine. Pentru alte concursuri nu știu cum ar fi mai bine făcut, dar pentru OJI/ONI, structura arată ceva de genul:

ONI/
├─ 2019/
│  ├─ 9/
│  ├─ 10/
│  │  ├─ ziua-1/
│  │  │  ├─ scara/
│  │  │  │  ├─ enunt/
│  │  │  │  ├─ teste/
│  │  │  │  ├─ editorial/
│  │  │  │  ├─ surse/
│  │  │  ├─ walle/
│  │  │  ├─ artifact/
│  │  ├─ ziua-2/
│  ├─ 11-12/
│  ├─ baraj/

Nu mi-e 100% clar cum ar trebui făcut cu problemele interactive. Cred ca cel mai bine ar fi ca în teste să se pună și interactorul. Dacă nu există interactor, se pune imediat un "broken.md".

O altă chestie despre conținut, ar fi bine să fie cât mai aproape de realitate. De exemplu, la niște probleme am vrut să le iau de pe Infoarena, dar am găsit până la urmă testele originale. Dacă nu se găsește nimic pentru un concurs, atunci vom pune niște variante alternative.

Pentru problemele care au teste gigantice, probabil nu le voi pune pe GitHub, mai bine punem un readme în fișierul cu teste care să aibă un link care duce la teste. De preferat, linkul acela ar trebui să fie unul care să nu crape.

De asemenea, fiecare problemă mai poate conține și un fișier mirrors.json unde se află linkuri pe platforme unde se pot rezolva problemele. Acesta va avea structura următoare:

{
    "InfoArena": "https://infoarena.ro/problema/scara5",
    "PBInfo": "https://www.pbinfo.ro/probleme/3049/scara2"
}

README.md

Fiecare fișier poate avea un README.md. Scriptul de mai sus va modifica acest fișier și va adăuga un rezumat la sfârșit cu ce chestii care lipsesc. Este foarte important să nu se modifice nimic la partea generată. Dacă pentru un README încă nu s-a generat nimic, să fie două "\n"-uri la sfârșit, altfel README-ul va arăta urât.

Generated Summary

arhiva-info

lot

2023

ziua-1

Nume Enunt Teste Editorial Surse Mirrors
apa Ok Ok Gol Ok
benzi Ok Incomplet Gol Ok
sirdacic Ok Ok Gol Ok

oji

2022

10

Nume Enunt Teste Editorial Surse Mirrors
circular Ok Ok Ok Gol pbinfo
pulsar Ok Ok Ok Gol pbinfo
transport Ok Incomplet Ok Gol pbinfo

11-12

Nume Enunt Teste Editorial Surse Mirrors
dulciuri Ok Ok Ok Gol Kilonova, pbinfo
investitie Ok Incomplet Ok Gol Kilonova, pbinfo
superhedgy Ok Ok Ok Gol Kilonova, pbinfo

9

Nume Enunt Teste Editorial Surse Mirrors
balba Ok Ok Ok Gol pbinfo
oneout Ok Incomplet Ok Gol pbinfo
pergament Ok Ok Ok Gol pbinfo

2023

10

Nume Enunt Teste Editorial Surse Mirrors
arhitect Ok Ok Ok Ok Kilonova, pbinfo
bingo Ok Ok Ok Ok Kilonova, pbinfo
fotbal Ok Ok Ok Ok Kilonova, pbinfo

11-12

Nume Enunt Teste Editorial Surse Mirrors
parcare Ok Incomplet Ok Gol Kilonova, pbinfo
turcane Ok Ok Ok Gol Kilonova, pbinfo
veri Ok Ok Ok Ok Kilonova, pbinfo

9

Nume Enunt Teste Editorial Surse Mirrors
cufere Ok Ok Ok Gol Kilonova, pbinfo
fibosnek Ok Incomplet Ok Gol Kilonova, pbinfo
partitura Ok Ok Ok Gol Kilonova, pbinfo

oni

2019

10

ziua-1
Nume Enunt Teste Editorial Surse Mirrors
artifact Ok Ok Ok Ok Infoarena, pbinfo
scara Ok Ok Ok Ok Infoarena, pbinfo
walle Ok Ok Ok Ok Infoarena, pbinfo
ziua-2
Nume Enunt Teste Editorial Surse Mirrors
nozero Ok Ok Ok Ok Infoarena, pbinfo
pericol Ok Ok Ok Ok Infoarena, pbinfo
vip Ok Ok Ok Ok Infoarena, pbinfo

11-12

ziua-1
Nume Enunt Teste Editorial Surse Mirrors
lexicografic Ok Ok Ok Ok Infoarena, Kilonova, pbinfo
oracol Ok Ok Ok Ok Infoarena, Kilonova, pbinfo
treeGCD Ok Ok Ok Gol Infoarena, Kilonova
ziua-2
Nume Enunt Teste Editorial Surse Mirrors
compact Ok Ok Ok Gol Infoarena, Kilonova
hipersimetrie Ok Ok Ok Gol Infoarena, Kilonova
linegraph Ok Ok Ok Gol Infoarena, Kilonova

9

ziua-1
Nume Enunt Teste Editorial Surse Mirrors
amat Ok Ok Ok Ok Infoarena, pbinfo
comun Ok Ok Ok Ok Infoarena, pbinfo
pro3 Ok Ok Ok Ok Infoarena, pbinfo
ziua-2
Nume Enunt Teste Editorial Surse Mirrors
cub Ok Ok Ok Ok Infoarena, pbinfo
fibofrac Ok Ok Ok Ok Infoarena, pbinfo
telefon Ok Ok Ok Ok Infoarena, pbinfo

baraj

Nume Enunt Teste Editorial Surse Mirrors
anarhie Ok Ok Gol Gol Infoarena, Kilonova
dag Ok Ok Gol Gol Infoarena, Kilonova
takara Ok Ok Gol Gol Infoarena, Kilonova

2023

10

Nume Enunt Teste Editorial Surse Mirrors
arcade Ok Ok Ok Ok Kilonova
comun Ok Ok Ok Ok Kilonova
matrice Ok Ok Ok Ok Kilonova

11-12

Nume Enunt Teste Editorial Surse Mirrors
biom Ok Ok Ok Ok Kilonova
keidei Ok Ok Ok Ok Kilonova
xidartros Ok Incomplet Ok Ok Kilonova

9

Nume Enunt Teste Editorial Surse Mirrors
bolovani Ok Ok Ok Ok Kilonova
nisip Ok Incomplet Ok Ok Kilonova
pietricele Ok Ok Ok Ok Kilonova