Olimpiada Informatyczna (XXXI)

Data ostatniej modyfikacji:
2024-01-1
Autor: 
Paweł Świątkowski
student informatyki i filologii fińskiej UAM w Poznaniu
Organizator: 

Fundacja Rozwoju Informatyki
ul. Banacha 2, 02-097 Warszawa

http://www.oi.edu.pl

 

Terminy: 

16.10 - 20.11.2023 zawody I stopnia
13-15.02.2024 zawody II stopnia
9-12.04.2024 zawody III stopnia
XXX Bałtycka Olimpiada Informatyczna
2024 IV Europejska Olimpiada Informatyczna Dziewcząt
2024 XXXI Środkowoeuropejska Olimpiada Informatyczna
1-8.08.2024 XXXVI Międzynarodowa Olimpiada Informatyczna, (Egipt)

 

Uczestnicy Olimpiady Informatycznej muszą wykazać się wieloma umiejętnościami, gdyż rozwiązanie każdego zadania wymaga wyłuskania i wyspecyfikowania rzeczywistego problemu algorytmicznego ukrytego w treści, dyskusji możliwych rozwiązań (algorytmów) i wyborze najwłaściwszego, dobraniu odpowiednich struktur danych, zaprogramowaniu rozwiązania w wybranym języku programowania oraz dokładnym przetestowaniu stworzonego programu. Zatem etapy rozwiązywania takiego zadania są takie same jak w rozwiązywaniu rzeczywistych problemów, na jakie napotyka w swojej pracy zawodowy informatyk.

Nic dziwnego, że Olimpiada Informatyczna to jedne z najbardziej prestiżowych zawodów informatycznych w kraju. Zadania są trudne, wymagają dużej ilości czasu poświęconego na analizę, jednak satysfakcja z ich rozwiązania jest gwarantowana.

Laureaci biorą udział w zawodach międzynarodowych: Bałtyckiej Olimpiadzie Informatycznej, Olimpiadzie Informatycznej Państw Europy Środkowej oraz w Międzynarodowej Olimpiadzie Informatycznej. Od roku 2021 organizowana jest Europejska Olimpiada Informatyczna Dziewcząt.

Od 2007 roku organizowana jest też Olimpiada Informatyczna Juniorów (wcześniej Gimnazjalistów).

 

Historia: 

Zawody krajowe i środkowoeuropejskie odbywają się od 1994 roku, a międzynarodowe od 1989 roku (I edycja w Bułgarii).

Największe sukcesy Polaków na IOI:

  • Andrzej Gąsienica-Samek (XIV LO Warszawa) trzykrotnie zdobył złoty medal i raz srebrny (1996, 1997, 1998, 1999).
  • Filip Wolski (III LO Gdynia) czterokrotnie zdobył złoty medal (2003, 2004, 2005, 2006).
  • Marcin Andrychowicz (XIV LO Warszawa) trzykrotnie zdobył złoty medal (2006, 2007, 2008).
  • Piotr Zieliński (VIII LO Poznań) dwukrotnie zdobył złoty medal i raz srebrny (1995, 1996, 1997).
  • Tomasz Czajka (LO Stalowa Wola) dwukrotnie zdobył złoty medal i raz srebrny (1998, 1999, 2000).
  • Jarosław Błasiok (VIII LO Katowice) dwukrotnie zdobył złoty medal (2008, 2009), 
  • Jarosław Kwiecień (XIV LO Wrocław) trzykrotnie zdobył złoty medal (2014, 2015, 2016),
  • Anadi Agrawal (XIV LO) - dwukrotnie zdobył złoty medal (2017, 2018),
  • Mariusz Trela (Tarnow) - dwukrotnie zdobył złoty medal (2017, 2018).

Międzynarodowe sukcesy wrocławian:

  • Tomasz Syposz (XIV LO) złoto BOI
  • Mateusz Gołębiewski (XIV LO) złoto BOI, złoto CEOI 2012
  • Bartłomiej Dudek (XIV LO) srebro CEOI 2012
  • Anna Piekarska (XIV LO) srebro IOI 2010, złoto i I m. na CEOI (2010), złoto i srebro na BOI
  • Jarosław Kwiecień (GM 49, XIV LO) - złoto IOI (2014, 2015, 2016), 2 razy srebro CEOI (2013, 2016), złoto CEOI (2015), złoto i srebro na BOI (2015, 2016)
  • Anadi Agrawal (XIV LO) - złoto IOI oraz CEOI (2017 I m, 2018), brąz BOI (2017),
  • Adam Górkiewicz (XIV LO) - srebro IOI oraz CEOI (2020),
  • Marcin Martowicz (XIII LO) - złoto CEOI (2020),
  • Jeremiasz Preiss (XIV LO) - srebro CEOI (2021), brąz medal CEOI i IOI (2022),
  • Antoni Buraczewski (III LO) - srebro IOI, złoto CEOI (2021), złoto IOI, III m. w świecie, srebro CEOI (2023)
  • Rafał Mańczyk (XIV LO) - srebro BOI (2023), srebro CEOI, brąz IOI (2023)
  • Marek Muzyka (XIV LO) - srebro BOI (2023),
  • Paulina Żeleźnik (XIV LO) - srebro EGOI (2022), złoto EGOI (2023)
  • Joanna Suwaj (XIV LO) - złoto EGOI (2022)
  • Maria Cichosz (XIV LO) - brąz EGOI (2023).

http://en.wikipedia.org/wiki/International_Olympiad_in_Informatics#Multiple_IOI_winners

Sukcesy wrocławian w OI:

  • Antoni Buraczewski (III LO) - I m. i złoto XXVIII OI, złoto XXIX OI, I m. z maksymalnym wynikiem i złoto XXX OI, awans do reprezentacji na CEOI i IOI (2021, 2022)
  • Rafał Mańczyk (XIV LO) - brąz XXVIII OI, złoto XXX OI, awans do reprezentacji na BOI, CEOI i IOI
  • Marek Muzyka (XIV LO) - srebro XXIX OI, złoto XXX OI, awans do reprezentacji na BOI
  • Olaf Surgut (XIV LO) - srebro XXVIII OI, srebro XXX OI
  • Mateusz Wawrzyniak (ALO PWr) - srebro XXX OI
  • Paulina Żeleźnik (XIV LO) - srebro XXIX OI, brąz XXX OI, srebro EGOI 2022, złoto EGOI 2023
  • Karol Łacina, Mateusz Jurach, Damian Sosulski, Karol Żeleźnik (XIV LO), Kuba Walęga, Michał Plata (III LO) - brąz XXX OI
  • Łukasz Orski (ALO PWr) - srebro XXVIII OI,
  • Jeremiasz Preiss (III LO) - srebro XXVIII OI, złoto XXIX OI, CEOI i IOI (2020, 2021)
  • Wiktor Krzemiński (XIV LO) - brąz XXVIII OI, srebro XXIX OI,
  • Joanna Suwaj (XIV LO) - brąz XXIX OI,
  • Marcel Szelwiga (XIV LO) - srebro XXVIII OI,
  • Bartosz Kucypera, Rafał Mańczyk, Bartosz Brejna, Marek Wiśniewski, Patryk Malcher, Wiktor Siatkowski, Michał Opala, Grzegorz Suwaj, Bartosz Chomiński (XIV LO) - brąz XXVIII OI, 
  • Marcin Martowicz (III LO) - awans do reprezentacji na CEOI 2020,
  • Adam Górkiewicz (XIV LO) - awans do reprezentacji na IOI i CEOI 2020, złoto XXVI OI, awans do reprezentacji na BOI 2019,
  • Michał Grzymek, Kacper Solecki (XIV LO) - srebro XXVI OI (2019),
  • Mikołaj Poliński (III LO), Franciszek Malinka, Mateusz Opala (XIV LO) - brąz XXVI OI (2019),
  • Anadi Agrawal (XIV LO) - złoto i I m. XXV OI (2018), srebro XXIV (2017),
  • Tomasz Ponitka (XIV LO) - srebro XXV i XXIV OI (2017, 2018),
  • Mateusz Rzepecki (III LO) - braz XXIV OI (2017), srebro XXV OI (2018),
  • Mateusz Orda, Dawid Ignasiak, Adam Morawski (III LO), Cezary Bednarz, Hubert Obrzut (XIV LO) - brąz XXV OI (2018),
  • Jarosław Kwiecień (GM 49, XIV LO) - brąz XX OI, złoto: XXI OI (I m), XXII OI (II m), złoto: IOI 2014, 2015, 2016, złoto i 2 razy srebro na CEOI (2014-1016), złoto i srebro na BOI (2015, 2016)
  • Agnieszka Dudek, Martyna Siejba, Mateusz Lewko (XIV LO) - brąz XXII OI
  • Jakub Zadrożny (III LO Wrocław) - wyróżnienie XXII OI
  • Jarosław Dzikowski, Adam Kuczaj, Maciej Kucharski, Martyna Siejba (XIV LO) - wyróżnienie XXI OI
  • Tomasz Syposz (XIV LO) - srebro XX OI (V m), zloto na BOI
  • Daniel Danielski, Bartosz Kostka (XIV LO) - brąz XX OI
  • Kamil Niziński, Piotr Pietrzak (XIV LO) - wyróżnienie XX OI
  • Bartłomiej Dudek - (XIV LO) - braąz XVII OI, wyróżnienie XVIII OI, złoto XIX OI (3 m), srebro IOI 2012
  • Mateusz Gołębiewski (XIV LO) - srebro XVIII OI, złoto XIX OI (5 m), złoto na BOI
  • Michał Łowicki (III LO) - brąz: XVII OI, XVIII OI, srebro XIX OI
  • Konrad Cichy (III LO), Michał Kownacki (XIV LO) - wyróżnienie XIX OI
  • Radosław Serafin (III LO) - brąz XVIII OI
  • Wojciech Kozaczewski (III LO) - wyróżnienie XVIII OI
  • Anna Piekarska (XIV LO) - brąz: XV OI, XVI OI, zloto XVII OI (4 m), srebro IOI 2010, złoto na CEOI (2010), złoto i srebro na BOI
  • Janusz Wróbel (XIV LO) - srebro XVII OI
  • Krzysztof Król (XIV LO) - wyróżnienie XVI OI, brąz XVII OI
  • Jan Marcinkowski (XIV LO) - brąz XVII OI
  • Dariusz Bukowski (XIV LO) - wyróżnienie XVII OI
  • Wiktor Janas (XIV LO) - srebro XVI OI
  • Adam Błaszkiewicz (XV LO) - wyróżnienie XVI OI
  • Jarosław Gomułka (XIV LO) - srebro XIV OI
  • Marcin Babij (IX LO) - brąz XIV OI
  • Mateusz Rukowicz (III LO) - srebro XIII OI
  • Krzysztof Templin (XIV LO) - wyróznienie XII OI
  • Michał Bartoszkiewicz (XIV LO) - brąz X OI
  • Tomasz Wawrzyniak (XIV LO) - brąz IX OI
  • Mateusz Kwaśnicki (III LO) - złoto VIII OI, srebro IOI 2001
  • Grzegorz Stelmaszek (XIV LO) - srebro VII OI, brąz VIII OI
  • Marcin Bieńkowski (XIV LO) - wyróżnienie IV OI
  • Marek Stocki (XIV LO) - złoto I OI (2 m), wyróżnienie II OI, brąz I0I 1994
  • Piotr Śniady (XIV LO) - brąz I OI.

 http://stats.ioinformatics.org/halloffame/POL

 

Skrót regulaminu: 
  • Olimpiada składa się z 3 etapów.
  • Pierwszy polega na samodzielnym rozwiązaniu zadań i przesłaniu ich do organizatora za pomocą internetu.
  • Etap II - regionalny i III - finał ogólnopolski odbywają się w ustalonych miejscach w warunkach kontrolowanej samodzielności.
  • Tytuł finalisty lub laureata zwalnia z matury z informatyki oraz daje wolny wstęp na większości polskich uczelni na kierunki związanie z matematyką i informatyką.

 

Przykładowe zadania: 

Liczby antypierwsze. Dodatnią liczbę całkowitą nazywamy antypierwszą, gdy ma ona więcej dzielników niż każda dodatnia liczba całkowita mniejsza od niej. Przykładowymi liczbami antypierwszymi są: 1, 2, 4, 6, 12 i 24.

Napisz program, który:

  • wczyta z pliku tekstowego ANT.IN dodatnią liczbę całkowitą n,
  • wyznaczy największą liczbę antypierwszą nie przekraczającą n,
  • zapisze wyznaczoną liczbę w pliku tekstowym ANT.OUT.

Wejście. W jedynym wierszu pliku tekstowego ANT.IN znajduje się jedna liczba całkowita n,
1 <= n <= 2 000 000 000.

Wyjście. W jedynym wierszu pliku ANT.OUT program powinien zapisać dokładnie jedną liczbę całkowitą - największą liczbę antypierwszą nie przekraczającą n.

Przykład. Dla pliku wejściowego ANT.IN: 1000
poprawną odpowiedzią jest plik wyjściowy ANT.OUT: 840

 

Połączenia. Ministerstwo Infrastruktury Bajtocji postanowiło stworzyć program pozwalający szybko obliczać długości tras między dowolnymi miastami. Nie byłoby w tym nic dziwnego, gdyby nie fakt, iż mieszkańcy Bajtocji nie zawsze szukają najkrótszej trasy. Zdarza się, że pragną dowiedzieć się o k-tą co do długości najkrótszą trasę. Dopuszczamy zapętlenia tras, tzn. takie trasy, na których miasta powtarzają się.

Przykład. Jeśli między dwoma miastami istnieją 4 trasy o długościach: 2, 4, 4 i 5, to najkrótsze połączenie ma długość 2, drugie co do długości 4, trzecie 4, a czwarte 5.

Napisz program, który:

  • wczyta ze standardowego wejścia opis sieci dróg Bajtocji oraz zapytania dotyczące długości tras przejazdu,
  • obliczy i wypisze na standardowe wyjście odpowiedzi do wczytanych zapytań.

Wejście. W pierwszym wierszu standardowego wejścia zapisane są dwie dodatnie liczby całkowite n i m oddzielone pojedynczym odstępem, 1 <= n <= 100, 0 <= m <= n2-n. Są to odpowiednio liczba miast w Bajtocji oraz liczba dróg łączących miasta. Miasta są ponumerowane od 1 do n. W każdym z kolejnych m wierszy znajdują się po trzy liczby całkowite oddzielone pojedynczymi odstępami: a, b i d, a <> b, 1 <= d <= 500. Każda taka trójka opisuje jedną, jednokierunkową drogę długości d umożliwiającą przejechanie z miasta a do b. Dla każdych dwóch miast istnieje co najwyżej jedna droga umożliwiająca przejazd w danym kierunku. W kolejnym wierszu znajduje się jedna liczba całkowita q, 1 <= q <= 10000, oznaczająca ilość zapytań. W kolejnych q wierszach są zapisane zapytania, po jednym w wierszu. Każde zapytanie to trzy liczby całkowite oddzielone pojedynczymi odstępami: c, d i k, 1 <= k <= 100. Zapytanie takie dotyczy długości k-tej najkrótszej trasy z miasta c do miasta d.

Wyjście. Program powinien wypisywać odpowiedzi na wczytane zapytania na standardowe wyjście, po jednej odpowiedzi w wierszu. W i-tym wierszu powinna zostać wypisana odpowiedź na i-te zapytanie - jedna liczba całkowita równa szukanej długości trasy lub -1, gdy taka trasa nie istnieje.

Przykład. Dla danych wejściowych:
5 5
1 2 3
2 3 2
3 2 1
1 3 10
1 4 1
8
1 3 1
1 3 2
1 3 3
1 4 2
2 5 1
2 2 1
2 2 2
1 1 2
poprawnym wynikiem jest:
5
8
10
-1
-1
3
6
-1
 

Powrót na górę strony