Skip to content

Commit 5298662

Browse files
committed
Nowe README.md
1 parent d22c25a commit 5298662

File tree

1 file changed

+49
-6
lines changed

1 file changed

+49
-6
lines changed

README.md

Lines changed: 49 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,53 @@
1-
# OI
2-
Archiwum moich rozwiązań do zadań z Olimpiady Informatycznej.
1+
# Materiały przygotowujące do Olimpiady Informatycznej.
2+
3+
## Repozytorium ma na celu:
4+
- Przekazanie wiedzy przydatnej w Olimpiadzie Informatycznej dla wszystkich chętnych do nauki.
5+
- Promowanie systematycznego podejścia do treningu i zdrowych nawyków.
6+
- Zapewnienie prostych, przystępnych narzędzi do mierzenia swojego progresu
7+
- Naukę powszechnie stosowanych narzędzi programistycznych poprzez praktykę.
8+
9+
## Repozytorium zawiera:
10+
- Rozwiązania zadań z Olimpiady Informatycznej, które napisałem, często alternatywne do omówień ze strony OI.
11+
- Skrypty linuksowe przydatne na olimpiadzie z prostym wytłumaczeniem każdej instrukcji.
12+
- Krótkie wykłady na temat korzystania z narzędzi linuksowych przydatnych w pisaniu i testowaniu zadań.
13+
- Automatycznie aktualizujący się licznik rozwiązanych zadań oraz tabelę pokazującą,
14+
które zadania z każdej z edycji OI zostały już rozwiązane z podziałem na etapy olimpiady.
15+
Przydaje się to do mierzenia progresu, oraz do doboru zadań na treningu.
16+
- Odnośniki do innych przydatnych źródeł.
17+
18+
19+
## Struktura repozytorium:
20+
21+
Zawartości katalogów `skrypty`, oraz `materialy` łatwo się domyślić, zachęcam do zapoznania się z nią.
22+
W katalogu `rozwiazania` znajdziesz wszystkie rozwiązania zadań z OI, które zaimplementowałem.
23+
Katalog `rozwiazania/<edycja_oi>/<etap_oi>/[dzień_etapu]/<skrót zadania>` zawiera pliki dotyczące danego zadania z OI.
24+
- `<skrót zadania>.cpp` - moje rozwiązanie zadania, które otrzymuje 100 pkt na testach na sio2/szkopule,
25+
dodatkowo z dopiskiem `_alt` bądź `_oi` pojawiają się czasem rozwiązania alternatywne oraz wprost z omówienia zadania,
26+
w przypadkach gdy rozwiązałem zadanie na 100 punktów na kilka różnych sposobów.
27+
- `<skrót zadania><liczba punktów>.cpp` - Rozwiązania, które dostają mniej niż 100 punktów, takie jak bruty, bądź rozwiązania podgrup.
28+
I dosyć często również pliki:
29+
- `<skrót zadania>g.cpp` - moja generatorka do zadania, której używałem testując rozwiązanie.
30+
- `<skrót zadania>chk.cpp` - moja czekerka w przypadku zadań, w których istnieje więcej niż jedno poprawne rozwiązanie inne niż generowane przez bruta.
31+
- 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.
32+
33+
Katalogi `checklista` oraz `.github` zawierają skrypty automatycznie generujące checklisty, nie należy ich modyfikować.
34+
Jeśli coś nie działa, daj mi znać przez [Issue](https://github.com/Kulezi/oi/issues) na GitHubie.
35+
36+
Przykładowo katalog `rozwiazania/xxv/etap3/dzien1/kom/` będzie zawierał moje rozwiązania do zadania 'Liczby kompletne' z III etapu XXV OI.
37+
Rozwiązania konkretnego zadanie można łatwo znaleźć sprawdzając, z której edycji i etapu olimpiady jest na [Liście zadań OI](https://oi.edu.pl/l/oi_zadania/),
38+
bądź przy pomocy polecenia `grep 'nazwa zadania' -R .` wywołanego z głównego katalogu repozytorium, np. `grep `Trójkąty` -R .`.
39+
40+
## Jak samemu skorzystać z checklisty:
41+
42+
Sforkuj [szablon](https://github.com/testowyuczen/oi) tego repozytorium [klikając tutaj](https://github.com/testowyuczen/oi/fork),
43+
i przy wbiciu jakiegoś zadania, np 'Rycerz:wq' z pierwszego dnia II etapu XXXI OI:
44+
- Zapisz rozwiązanie. np. w pliku `rozwiazania/xxxi/etap2/dzien1/ryc/ryc.cpp`.
45+
- Dodaj je do repozytorium wykonując `git add `rozwiazania/xxxi/etap2/dzien1/ryc/ryc.cpp`, (przy pomocy `git status` możesz zobaczyć co już dodałeś w tym commicie).
46+
- Scommituj je np. w ten sposób: `git commit -m "Dodano rozwiązanie zadania 'Rycerz' z XXXI OI"` (jeśli zapomnieliśmy czegoś dodać wystarczy powtórzyć poprzedni krok i użyć `git commit --am`.
47+
- Zaktualizuj repozytorium na GitHub o lokalne zmiany przy pomocy `git push`, ewentualnie `git push -f`.
48+
- Checklista w `README.md` na GitHub zaktualizuje się automatycznie w ciągu kilku minut.
49+
- `git pull` wciągnie aktualną wersję checklisty z GitHuba (bez tego będziesz potrzebował robić `git push -f` przy każdym pushu.
350

4-
Katalog `<edycja>/<etap>/<skrót zadania>` zawiera:
5-
- `<skrót zadania>.cpp` moje rozwiązanie, które otrzymuje 100 pkt na testach na sio2/szkopule.
6-
- `<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.
851
<!-- AUTO-CHECKLIST -->
952

1053
> ⚠️ **UWAGA:** Sekcja poniżej jest generowana automatycznie.

0 commit comments

Comments
 (0)