Skip to content

Commit 1c6c759

Browse files
committed
Nowa struktura katalogów, dodano autogenerowane checklisty
1 parent f4e8957 commit 1c6c759

File tree

336 files changed

+1077
-43
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

336 files changed

+1077
-43
lines changed

.github/workflows/checklist.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Aktualizacja checklisty
2+
3+
on:
4+
push:
5+
branches: ["main"]
6+
7+
permissions:
8+
contents: write
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkoutuj repo
14+
uses: actions/checkout@v4
15+
with:
16+
fetch-depth: 0
17+
ref: main
18+
- name: Zainstaluj Pythona
19+
uses: actions/setup-python@v5
20+
with:
21+
python-version: "3.11"
22+
23+
- name: Generuj checklistę
24+
run: python checklista/update_readme.py
25+
- name: Dodaj checklistę do ostatniego commita
26+
run: |
27+
git config user.name "github-actions[bot]"
28+
git config user.email "github-actions[bot]@users.noreply.github.com"
29+
git add README.md checklist/tasks.json
30+
# Amend the last commit and add the bot as a co-author
31+
git commit --amend --no-edit -m "$(git log -1 --pretty=%B)
32+
33+
Co-authored-by: GitHub Actions <github-actions[bot]@users.noreply.github.com>" || echo "No changes to commit"
34+
- name: Push changes
35+
uses: ad-m/[email protected]
36+
with:
37+
github_token: ${{ secrets.GITHUB_TOKEN }}
38+
branch: main
39+
force: true
40+

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,3 @@
3333
*.in
3434
*.out
3535

36-
*.json

README.md

Lines changed: 119 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,122 @@ Archiwum moich rozwiązań do zadań z Olimpiady Informatycznej.
44
Katalog `<edycja>/<etap>/<skrót zadania>` zawiera:
55
- `<skrót zadania>.cpp` moje rozwiązanie, które otrzymuje 100 pkt na testach na sio2/szkopule.
66
- `<skrót zadania><liczba punktów>.cpp` moje rozwiązania z olimpiady, które dostały mniej niż 100 punktów na zawodach.
7-
- Katalog `virtual contest/`, zawierający moje skrypty, generatorki, czekerki i różne podejścia do zadania w przypadku, gdy symulowałem ograniczenia czasu i widoczności werdyktów występujące na olimpiadzie, tzn. w przypadku etapów I i II olimpiady, nie mogłem poznać liczby punktów, które dostanie moje zadanie na sprawdzarce szkopuł. Testowałem rozwiązanie lokalnie, i wysyłałem dopiero po przetestowaniu. Rozwiązania zadań z III etapu mogłem wysłać do 10 rozwiązań na szkopuła poznając ich wynik.
7+
- Katalog `virtual contest/`, zawierający moje skrypty, generatorki, czekerki i różne podejścia do zadania w przypadku, gdy symulowałem ograniczenia czasu i widoczności werdyktów występujące na olimpiadzie, tzn. w przypadku etapów I i II olimpiady, nie mogłem poznać liczby punktów, które dostanie moje zadanie na sprawdzarce szkopuł. Testowałem rozwiązanie lokalnie, i wysyłałem dopiero po przetestowaniu. Rozwiązania zadań z III etapu mogłem wysłać do 10 rozwiązań na szkopuła poznając ich wynik.
8+
<!-- AUTO-CHECKLIST -->
9+
10+
> ⚠️ **UWAGA:** Sekcja poniżej jest generowana automatycznie.
11+
> Nie modyfikuj README poniżej tego napisu.
12+
> ✅ oznacza wykonane zadanie.
13+
> 🤔 oznacza zadanie z mniej niż 100 punktów.
14+
## Etap 1
15+
16+
Edycja | zad. 1 | zad. 2 | zad. 3 | zad. 4 | zad. 5 | zad. 6
17+
:--- | ---: | ---: | ---: | ---: | ---: | ---:
18+
I | pio ✅ | tro ✅ | | — | — | —
19+
II | jed ✅ | pal ✅ | | | — | —
20+
III | gon ✅ | | | | — | —
21+
IV | | | | | — | —
22+
V | wie ✅ | | | | — | —
23+
VI | | | | | — | —
24+
VII | bro ✅ | | | | — | —
25+
VIII | ant ✅ | | | | — | —
26+
IX | kol ✅ | kom ✅ | | | — | —
27+
X | | | | | | —
28+
XI | zaw ✅ | gra ✅ | | | | —
29+
XII | | | | | | —
30+
XIII | kra ✅ | okr ✅ | | | | —
31+
XIV | | | | | | —
32+
XV | pla ✅ | | | | | —
33+
XVI | | | | | | —
34+
XVII | kor ✅ | | | | | —
35+
XVIII | liz ✅ | | | | | —
36+
XIX | odl ✅ | | | | | —
37+
XX | | | | | | —
38+
XXI | kur ✅ | | | | | —
39+
XXII | kin ✅ | | | | | —
40+
XXIII | | | | | | —
41+
XXIV | fla ✅ | | | | | —
42+
XXV | pow ✅ | roz ✅ | pla ✅ | pra ✅ | pio ✅ | —
43+
XXVI | klu ✅ | par ✅ | rob ✅ | nie ✅ | pod ✅ | —
44+
XXVII | | | | | | —
45+
XXVIII | gan ✅ | | | | | —
46+
XXIX | | | | | | —
47+
XXX | | | | | | —
48+
XXXI | cza ✅ | | | | | —
49+
XXXII | spr ✅ | bit ✅ | zam ✅ | usu ✅ | wal ✅ | kas 🤔
50+
51+
52+
## Etap 2
53+
54+
Edycja | zad. próbne | Dzień 1 - zad. 1 | Dzień 1 - zad. 2 | Dzień 2 - zad. 1 | Dzień 2 - zad. 2
55+
:--- | ---: | ---: | ---: | ---: | ---:
56+
I | | prz ✅ | — | | —
57+
II | | tro ✅ | | |
58+
III | | | — | haz ✅ |
59+
IV | | | | |
60+
V | | row ✅ | | |
61+
VI | | lun ✅ | | |
62+
VII | | | | |
63+
VIII | | | | |
64+
IX | izo ✅ | dzi ✅ | | |
65+
X | | aut ✅ | | |
66+
XI | | | | |
67+
XII | | ban ✅ | | kos ✅ |
68+
XIII | | naj ✅ | | |
69+
XIV | | ska ✅ | | tet ✅ |
70+
XV | | | | |
71+
XVI | | | | arc ✅ |
72+
XVII | | cho ✅ | klo ✅ | |
73+
XVIII | | roz ✅ | | |
74+
XIX | | roz ✅ | okr ✅ | sza ✅ |
75+
XX | | luk ✅ | | mor ✅ |
76+
XXI | | prz ✅ | | pta ✅ |
77+
XXII | | pus ✅ | | |
78+
XXIII | | dro ✅ | zaj ✅ | |
79+
XXIV | | sum ✅ | | kon ✅ | zam ✅
80+
XXV | | kon ✅ | dro ✅ | tom ✅ | tel ✅
81+
XXVI | | kol ✅ | gwi ✅ | roz 🤔 | osi 🤔
82+
XXVII | | czw ✅ | | |
83+
XXVIII | | ple ✅ | | pla ✅ |
84+
XXIX | | | | kon ✅ |
85+
XXX | | | | |
86+
XXXI | | ryc ✅ | lic ✅ | |
87+
XXXII | sss ✅ | drz ✅ | | |
88+
89+
90+
## Etap 3
91+
92+
Edycja | Dzień próbny, zad. 1 | Dzień próbny, zad. 2 | Dzień 1 - zad. 1 | Dzień 1 - zad. 2 | Dzień 1 - zad. 3 | Dzień 2 - zad. 1 | Dzień 2 - zad. 2 | Dzień 2 - zad. 3
93+
:--- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---:
94+
I | | — | | | | | | —
95+
II | | — | | | | sze ✅ | |
96+
III | | — | | | | | |
97+
IV | | — | kaj ✅ | tro ✅ | | rez ✅ | |
98+
V | | — | | | | | |
99+
VI | | — | mag ✅ | | | | |
100+
VII | | — | | | | pow ✅ | age ✅ |
101+
VIII | | — | | | | kop ✅ | |
102+
IX | min ✅ | — | | | | szy ✅ | |
103+
X | | — | | | | | |
104+
XI | | — | | | | | |
105+
XII | dzi ✅ | — | | | | aut ✅ | |
106+
XIII | | — | | | | zos ✅ | pal ✅ |
107+
XIV | | — | | | | klo ✅ | |
108+
XV | | — | kup ✅ | | | sta ✅ | |
109+
XVI | | — | | | | | |
110+
XVII | | — | zab ✅ | | | pil ✅ | |
111+
XVIII | | — | imp ✅ | | | met ✅ | pat ✅ |
112+
XIX | | — | | | | | |
113+
XX | | — | | | | gdz ✅ | |
114+
XXI | far ✅ | — | tur ✅ | | | pan ✅ | |
115+
XXII | | — | wil ✅ | | | kol ✅ | |
116+
XXIII | | — | zyw ✅ | | | | |
117+
XXIV | piz ✅ | — | zap ✅ | | | | |
118+
XXV | trz 🤔 | dwa ✅ | tur ✅ | kom ✅ | ogr ✅ | wie ✅ | tak ✅ | ddl ✅
119+
XXVI | | — | | | | dlu ✅ | |
120+
XXVII | — | — | | | — | | — | —
121+
XXVIII | | — | | | | | |
122+
XXIX | | | | | | | |
123+
XXX | | — | | | | | |
124+
XXXI | | — | | | | | |
125+
XXXII | | — | | | | | |

checklist/tabela.md

Lines changed: 0 additions & 34 deletions
This file was deleted.

checklist/gen_etap1_checklist.py renamed to checklista/gen_etap1_checklist.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def zadania_edycja(edycja):
4646
wszystkie_edycje = range(1, max(v["edycja"] for v in data.values()) + 1)
4747

4848
# Przygotowujemy tabelę markdown
49-
header = ["edycja"] + [f"zadanie{i}" for i in range(1, 7)]
49+
header = ["Edycja"] + [f"zad. {i}" for i in range(1, 7)]
5050
# Pierwszy wiersz to nagłówek
5151
lines = [" | ".join(header)]
5252
# Drugi wiersz to wyrównanie: pierwszy do lewej, reszta do prawej

checklist/gen_etap2_checklist.py renamed to checklista/gen_etap2_checklist.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ def ktory_dzien(numer):
5353
wszystkie_edycje = range(1, max(v["edycja"] for v in data.values()) + 1)
5454

5555
# Przygotowujemy tabelę markdown
56-
header = ["edycja", "próbne", "Dzień 1 - zad. 1", "Dzień 1 - zad. 2", "Dzień 2 - zad. 1", "Dzień 2 - zad. 2"]
56+
header = ["Edycja", "zad. próbne", "Dzień 1 - zad. 1", "Dzień 1 - zad. 2", "Dzień 2 - zad. 1", "Dzień 2 - zad. 2"]
5757
# Pierwszy wiersz to nagłówek
5858
lines = [" | ".join(header)]
5959
# Drugi wiersz to wyrównanie: pierwszy do lewej, reszta do prawej

checklist/gen_etap3_checklist.py renamed to checklista/gen_etap3_checklist.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,15 @@ def ktory_dzien(numer):
6565
# 0 -> 1, 1 -> 1, 2 -=> 2, 3 -> 1, 4 -> 2
6666
if numer < 2:
6767
return 0, numer + 1
68-
if numer < 6:
68+
if numer < 5:
6969
return 1, numer - 3
7070
return 2, numer - 5
7171

7272
# Znajdź wszystkie edycje
7373
wszystkie_edycje = range(1, max(v["edycja"] for v in data.values()) + 1)
7474

7575
# Przygotowujemy tabelę markdown
76-
header = ["edycja", "Dzień próbny, zad. 1", "Dzień próbny, zad. 2", "Dzień 1 - zad. 1", "Dzień 1 - zad. 2", "Dzień 1 - zad. 3", "Dzień 2 - zad. 1", "Dzień 2 - zad. 2", "Dzień 2 - zad. 3"]
76+
header = ["Edycja", "Dzień próbny, zad. 1", "Dzień próbny, zad. 2", "Dzień 1 - zad. 1", "Dzień 1 - zad. 2", "Dzień 1 - zad. 3", "Dzień 2 - zad. 1", "Dzień 2 - zad. 2", "Dzień 2 - zad. 3"]
7777
# Pierwszy wiersz to nagłówek
7878
lines = [" | ".join(header)]
7979
# Drugi wiersz to wyrównanie: pierwszy do lewej, reszta do prawej

checklist/gen_json.py renamed to checklista/gen_json.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ def extract_points(filename: str):
3030

3131
tasks = {}
3232

33-
for oi_dir, edycja in [("../" + edycja, i+1) for i, edycja in enumerate(oi)]:
33+
for oi_dir, edycja in [("../rozwiazania/" + edycja, i+1) for i, edycja in enumerate(oi)]:
3434
if not os.path.isdir(oi_dir):
3535
continue
3636

@@ -60,7 +60,7 @@ def extract_points(filename: str):
6060
max_points = punkty
6161

6262
if max_points is not None:
63-
key = f"{oi_dir}_{etap}_{dzien}_{task_dir}"
63+
key = f"{oi[edycja-1]}_{etap}_{dzien}_{task_dir}"
6464
tasks[key] = {
6565
"edycja": edycja,
6666
"etap": int(re.search(r"\d+", etap).group()),
@@ -86,7 +86,7 @@ def extract_points(filename: str):
8686
max_points = punkty
8787

8888
if max_points is not None:
89-
key = f"{oi_dir}_{etap}_{task_dir}"
89+
key = f"{oi[edycja-1]}_{etap}_{task_dir}"
9090
tasks[key] = {
9191
"edycja": edycja,
9292
"etap": int(re.search(r"\d+", etap).group()),

checklista/tabela.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
Edycja | Dzień próbny, zad. 1 | Dzień próbny, zad. 2 | Dzień 1 - zad. 1 | Dzień 1 - zad. 2 | Dzień 1 - zad. 3 | Dzień 2 - zad. 1 | Dzień 2 - zad. 2 | Dzień 2 - zad. 3
2+
:--- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---:
3+
I | | — | | | | | | —
4+
II | | — | | | | sze ✅ | |
5+
III | | — | | | | | |
6+
IV | | — | kaj ✅ | tro ✅ | | rez ✅ | |
7+
V | | — | | | | | |
8+
VI | | — | mag ✅ | | | | |
9+
VII | | — | | | | pow ✅ | age ✅ |
10+
VIII | | — | | | | kop ✅ | |
11+
IX | min ✅ | — | | | | szy ✅ | |
12+
X | | — | | | | | |
13+
XI | | — | | | | | |
14+
XII | dzi ✅ | — | | | | aut ✅ | |
15+
XIII | | — | | | | zos ✅ | pal ✅ |
16+
XIV | | — | | | | klo ✅ | |
17+
XV | | — | kup ✅ | | | sta ✅ | |
18+
XVI | | — | | | | | |
19+
XVII | | — | zab ✅ | | | pil ✅ | |
20+
XVIII | | — | imp ✅ | | | met ✅ | pat ✅ |
21+
XIX | | — | | | | | |
22+
XX | | — | | | | gdz ✅ | |
23+
XXI | far ✅ | — | tur ✅ | | | pan ✅ | |
24+
XXII | | — | wil ✅ | | | kol ✅ | |
25+
XXIII | | — | zyw ✅ | | | | |
26+
XXIV | piz ✅ | — | zap ✅ | | | | |
27+
XXV | trz 🤔 | dwa ✅ | tur ✅ | kom ✅ | ogr ✅ | wie ✅ | tak ✅ | ddl ✅
28+
XXVI | | — | | | | dlu ✅ | |
29+
XXVII | — | — | | | — | | — | —
30+
XXVIII | | — | | | | | |
31+
XXIX | | | | | | | |
32+
XXX | | — | | | | | |
33+
XXXI | | — | | | | | |
34+
XXXII | | — | | | | | |

0 commit comments

Comments
 (0)