Potyczki Algorytmiczne
Otwarty ogólnopolski konkurs programistyczny 2016
 
Google
partner
Atende
sponsor
Uniwerytet Warszawski
organizator
liczba uczestników
0
Regulamin

Organizator

  • Wydział Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego

Partner

  • Google

Sponsor

  • Atende

Przebieg zawodów

  • Zawody rozpoczynają się 21 listopada 2016 r. i kończą finałem w dniach 16-18 grudnia 2016 r.

  • Zawody dzielą się na rundy, przy czym pięć z nich jest przeprowadzonych zdalnie przez serwis internetowy zawodów http://sio2.mimuw.edu.pl/pa, a ostatnia runda – finał – w Warszawie.

  • Koszty podróży (na terytorium RP) na zawody finałowe i zakwaterowania w trakcie finału pokrywają organizatorzy.

Uczestnicy

  • W zawodach może wystartować każdy obywatel Polski, z wyjątkiem osób organizujących konkurs Potyczki Algorytmiczne, jurorów konkursu oraz autorów zadań.

  • Pracownicy firmy Google mogą startować w zawodach i zakwalifikować się do finału, jednak nie są brani pod uwagę w oficjalnej liście rankingowej finałów i w przydziale nagród rzeczowych.
  • Do zawodów można przystąpić tylko po wcześniejszym zarejestrowaniu się w serwisie internetowym zawodów.

  • Rejestracja rozpocznie się 8 listopada 2016 r. o godz. 12:00 i będzie możliwa do momentu zakończenia rund zdalnych zawodów.

  • Każda osoba może zarejestrować się tylko raz. Osoby podające przy rejestracji nieprawdziwe dane osobowe zostaną zdyskwalifikowane.

  • Dokonanie rejestracji jest równoznaczne z zaakceptowaniem przez uczestnika regulaminu konkursu.

  • Dokonując rejestracji, uczestnik wyraża zgodę na przetwarzanie jego danych osobowych przez organizatorów zawodów, tj. Uniwersytet Warszawski oraz firmę Google, zgodnie z art. 23 ustawy z dnia 29.08.1997 r. o ochronie danych osobowych (Dz.U. 2002, nr 101, poz. 926 z późn. zm.) w stopniu niezbędnym do przeprowadzenia zawodów.

  • Uczestnik przyjmuje do wiadomości, iż stosownie do art. 24 ustawy o ochronie danych osobowych, przysługuje mu prawo dostępu do swoich danych, ich poprawiania i uzupełniania.

Rundy zdalne

  • Każda runda zdalna rozpoczyna się w momencie publikacji zadań w serwisie internetowym zawodów i kończy się w chwili zakończenia przyjmowania zgłoszeń.

  • Zadania są podzielone na dwie grupy: A i B. Intencją organizatorów jest to, żeby w każdej rundzie zadania z grupy A były trudniejsze niż zadania z grupy B.

  • Wyróżniamy dwa typy zadań: zwykłe oraz rozproszone. W zadaniach rozproszonych rozwiązania uruchamiane są na wielu komputerach jednocześnie.
  • Rozkład czasowy rund zdalnych przedstawia się następująco:

    RundaPublikacja zadańZakończenie przyjmowania zgłoszeńLiczba zadań ALiczba zadań B
    1 21 listopada godz. 12:00 22 listopada godz. 24:00 1 1
    2 22 listopada godz. 12:00 23 listopada godz. 24:00 1 1
    3 23 listopada godz. 12:00 24 listopada godz. 24:00 1 1
    4 (rozproszona) 24 listopada godz. 12:00 25 listopada godz. 24:00 1 1
    5 25 listopada godz. 9:00 27 listopada godz. 24:00 2 2
  • Obydwa zadania w czwartej rundzie będą zadaniami rozproszonymi. Zadania z pozostałych rund będą zadaniami zwykłymi.
  • Po zakończeniu każdej rundy nadesłane rozwiązania są sprawdzane automatycznie pod nadzorem Jury zawodów, a następnie uczestnicy są informowani o wynikach sprawdzania i uzyskanych punktach.

  • Po zakończeniu każdej z pierwszych czterech rund, o godzinie 12:00 następnego dnia, ogłaszane są aktualne listy rankingowe o kryptonimach: A+B oraz B. Lista rankingowa A+B obejmuje łączne wyniki oceny zadań z grup A i B. Lista rankingowa B obejmuje wyniki oceny zadań tylko z grupy B.

  • Pełne wyniki zawodów w części zdalnej zostaną ogłoszone 29 listopada 2016 r. o godzinie 20:00.

  • W listach rankingowych są uwzględniani tylko zawodnicy, którzy mają co najmniej 1 punkt na danej liście.

  • W przypadku równej liczby punktów w części zdalnej na dowolnej z list rankingowych, rozstrzygającym kryterium jest liczba zadań, za które uczestnik zdobył co najmniej 10 punktów, następnie co najmniej 9 punktów, co najmniej 8 itd. Przy ustalaniu kolejności zawodników na danej liście rankingowej brane są pod uwagę tylko wyniki oceny rozwiązań zadań z grup skojarzonych z tą listą.

  • Odbędą się dwie rundy próbne, których celem jest zapoznanie uczestników z warunkami rozgrywania zawodów. Pierwsza z nich potrwa od wtorku 15 listopada, godz. 12:00 do piątku 18 listopada, godz. 24:00 i w jej trakcie do rozwiązania będzie jedno zadanie zwykłe. Termin drugiej rundy próbnej zostanie ogłoszony w późniejszym terminie. W jej trakcie do rozwiązania będzie jedno zadanie rozproszone. Wyniki z rund próbnych nie mają wpływu na końcową klasyfikację.

  • Uczestnicy zawodów mogą zgłosić fakt zaistnienia niejasności lub wystąpienia błędu w sformułowaniu zadania. Jeśli jurorzy zawodów uznają, że uwaga jest zasadna, wówczas w serwisie internetowym zawodów znajdzie się stosowne wyjaśnienie. Ze względu na specyfikę zawodów, takie wyjaśnienie może pojawić się z opóźnieniem.

  • Uczestnicy mogą korzystać z serwisu internetowego zawodów tylko w celach zgodnych z jego przeznaczeniem.

  • W uzasadnionych przypadkach, na przykład długotrwałego niedziałania serwisu internetowego zawodów, Jury zawodów ma prawo przedłużyć czas przysyłania rozwiązań z danej rundy.

  • Organizatorzy nie ponoszą odpowiedzialności za brak możliwości przekazania rozwiązań przez serwis internetowy zawodów w sytuacji nadmiernego obciążenia lub awarii serwisu.

  • W trakcie zawodów interakcja między zawodnikami związana z bieżącymi zadaniami jest dozwolona wyłącznie w dziale Forum w serwisie internetowym zawodów. W dziale Forum niedozwolona jest dyskusja na temat metod rozwiązania zadań z danej rundy. W przypadku stwierdzenia przez Jury naruszenia tych zasad lub znalezienia rozwiązań niesamodzielnych, zawodnicy mogą zostać zdyskwalifikowani.

  • Rozwiązania uczestników podlegające ocenie zostaną opublikowane w serwisie internetowym zawodów.

Finał

  • Po pięciu rundach zdalnych do finału zawodów zostaje zakwalifikowanych 20 uczestników. Dziesięciu spośród nich to zawodnicy sklasyfikowani na miejscach od 1 do 10 na liście rankingowej A+B. Następnych dziesięciu to najwyżej sklasyfikowani zawodnicy z kolejnych miejsc, z wyłączeniem osób, które przynajmniej dwukrotnie uczestniczyły w finale Potyczek Algorytmicznych.

  • Finał odbędzie się w Warszawie, data finału zostanie ogłoszona niebawem.

  • W przypadku deklaracji chęci udziału w finale i braku faktycznego udziału, uczestnik zostaje zdyskwalifikowany, co powoduje, że nie otrzymuje on żadnych nagród.

  • W finale zawodnicy mają do rozwiązania od 5 do 10 zadań w czasie pięciogodzinnej sesji. Zadania finałowe nie będą zadaniami rozproszonymi.

  • Kolejność zawodników jest ustalana na podstawie liczby poprawnie rozwiązanych zadań. O kolejności zawodników posiadających tę samą liczbę rozwiązanych zadań decyduje łączny czas rozwiązywania zadań. Szczegóły ustalania rankingu są opisane w punkcie Ocenianie zadań – finał.

Rozwiązania

  • Rozwiązaniem zadania jest jednoplikowy program (kod źródłowy) dla problemu z treści zadania.

  • Program musi spełniać ograniczenia podane w treści zadania.

  • W danych testowych nie występują zbędne puste wiersze ani znaki odstępu na początkach i na końcach wierszy, chyba że w treści zadania wyraźnie zaznaczono inaczej. Po każdym wierszu danych znajduje się uniksowy znak końca linii. Jeżeli w jednym wierszu znajduje się więcej niż jedna liczba, to wszystkie liczby są pooddzielane pojedynczymi odstępami. Ta zasada dotyczy danych wejściowych oraz wyjściowych.

  • Dopuszczalne są jedynie programy w następujących językach programowania:

    • C

    • C++

    • Java (z wyjątkiem zadań rozproszonych)

    • Pascal (z wyjątkiem zadań rozproszonych)

Zgłaszanie rozwiązań na zawodach zdalnych

  • Rozwiązania są zgłaszane za pomocą formularza dostępnego w serwisie internetowym zawodów.

  • Zgłoszenia zadań z danej rundy są możliwe tylko do czasu jej zakończenia.

  • W każdej rundzie można zgłosić maksymalnie 10 rozwiązań tego samego zadania. Ocenie podlega jedynie ostatnie nadesłane kompilujące się rozwiązanie.

Ocenianie zadań – rundy zdalne

  • Jedynymi kryteriami oceny rozwiązania są poprawność i szybkość działania programu.

  • Rozwiązania oceniane są automatycznie:

    • nadesłany program jest kompilowany i uruchamiany na 10 grupach danych testowych; na każdą grupę składa się od jednego do kilku testów,

    • dla zadań rozproszonych, nadesłany program uruchamiany jest jednocześnie na wielu komputerach; wszystkie instancje uruchomionego programu mogą się ze sobą komunikować,

    • w przypadku, gdy wykonanie programu na danym teście nie zakończy się błędem oraz zmieści się w wyznaczonym limicie czasowym i pamięciowym (w zadaniach rozproszonych warunek ten dotyczy wszystkich uruchomionych instancji programu), zostaje sprawdzona poprawność otrzymanej odpowiedzi,

    • w przypadku poprawnej odpowiedzi test jest zaliczany (odpowiedź wygenerowana przez program powinna w pełni odpowiadać składni podanej w opisie zadania, wszelkie niezgodności mogą zostać potraktowane jako zła odpowiedź),

    • za każdą grupę, w której zostały zaliczone wszystkie testy, program otrzymuje 1 punkt.

  • Rozwiązania wzorcowe są napisane w C++ z wykorzystaniem STL-a i względem nich będą dobierane limity czasowe. Limity czasowe dla zadań z grupy A mogą być ostrzejsze niż w przypadku grupy B.

  • Ewentualne spory dotyczące oceny rozwiązań rozstrzyga Jury zawodów. Decyzje Jury są ostateczne.

Ocenianie zadań – finał

  • Wyniki uzyskane w rundach zdalnych nie liczą się do klasyfikacji końcowej.

  • Jedynymi kryteriami oceny rozwiązania są poprawność i szybkość działania programu.

  • Rozwiązania oceniane są automatycznie; zadanie zostaje zaliczone, jeżeli dla wszystkich testów program nie zakończy się błędem, zmieści się w wyznaczonym limicie czasowym i da poprawną odpowiedź (odpowiedź wygenerowana przez program powinna w pełni odpowiadać składni podanej w opisie zadania, wszelkie niezgodności mogą zostać potraktowane jako zła odpowiedź).

  • Uczestnicy są na bieżąco informowani o wynikach sprawdzania zgłoszonych przez siebie rozwiązań zadań.

  • Każde rozwiązanie przedstawione do oceny jest albo akceptowane, albo odrzucane, a zawodnik jest powiadamiany o tej ocenie. Przyczyna odrzucenia rozwiązania jest określana jednym z następujących komunikatów: błąd kompilacji (compile error), błąd wykonania (runtime error), błędna odpowiedź (wrong answer), przekroczenie limitu czasu (time limit exceeded), przekroczenie limitu pamięci (memory limit exceeded), naruszenie zasad (rule violation), przekroczenie limitu wyjścia (output limit exceeded).

  • Zasady doboru limitów czasowych na finale będą takie same jak w przypadku zadań grupy A zawodów zdalnych.

  • Jeśli rozwiązanie nie zostanie zaakceptowane, zawodnik może przedstawić kolejną wersję rozwiązania.

  • Nie ma limitu zgłoszeń.

  • Zawodnicy są klasyfikowani na podstawie liczby poprawnie rozwiązanych zadań. O kolejności zawodników posiadających tę samą liczbę rozwiązanych zadań decyduje łączny czas rozwiązywania zadań. Za czas rozwiązania zadania przyjmuje się czas, jaki upłynął od początku zawodów do momentu przedstawienia poprawnego rozwiązania, powiększony o karę 20 minut za każde przedstawienie błędnego rozwiązania. Łączny czas rozwiązywania zadań jest obliczany tylko na podstawie zaakceptowanych rozwiązań – kara związana z nierozwiązanymi zadaniami nie ma wpływu na wynik zawodnika.

  • Aktualny ranking jest widoczny przez pierwsze cztery godziny trwania zawodów.

Nagrody

  • Zdobywcy pierwszych trzech miejsc w finale otrzymają nagrody rzeczowe.

  • Uczestnicy sklasyfikowani na czołowych 256 pozycjach rankingu B otrzymają koszulki z logo Potyczki Algorytmiczne 2016.

  • W każdej rundzie zdalnej zawodów, spośród zawodnikówi, którzy uzyskają dodatnią liczbę punktów w zadaniach z grupy B, rozlosowanych zostanie 5 koszulek z logo Potyczki Algorytmiczne 2016.

Reklamacje

  • Uczestnik jest uprawniony do złożenia reklamacji do wyników każdej rundy zawodów zdalnych w nieprzekraczalnym czasie 16 godzin, licząc od ogłoszenia wyników sprawdzania, wskazując wyraźnie, co jest przedmiotem reklamacji.

  • Reklamacji nie podlega dobór zadań, testów i przyjęty sposób oceny.

  • Jury rozpatruje rozpoznaje niezwłocznie, przed ogłoszeniem wyników zawodów.

  • Jury informuje składającego reklamację o wynikach postępowania reklamacyjnego.

  • Reklamacje spóźnione, a także niedostatecznie sprecyzowane, pozostawia się bez rozpoznania.

Pozostałe ustalenia

  • Uczestnicy nieprzestrzegający regulaminu mogą zostać zdyskwalifikowani.

  • Dokładne ustalenia techniczne dotyczące przeprowadzenia zawodów znajdują się na stronie internetowej zawodów.

Postanowienia końcowe

  • We wszystkich spornych kwestiach nie objętych tym regulaminem decyzje podejmuje Jury zawodów.

  • Decyzje Jury są ostateczne.