Regulamin Mistrzostw Polski Szkół Średnich w Programowaniu Zespołowym
Informacje ogólne
- Zawody odbędą się trybie stacjonarnym w Instytucie Informatyki Uniwersytetu Wrocławskiego (ul. Joliot-Curie 15, Wrocław).
- W zawodach biorą udział zespoły (drużyny), składające się maksymalnie z trzech osób – uczniów jednej szkoły ponadpodstawowej w Polsce.
- Każda drużyna ma dyspozycji jeden komputer.
- Uczestnicy mogą korzystać z własnych materiałów papierowych: słowników, książek, wydruków programów, notatek. Nie jest dozwolone korzystanie z tekstów zapisanych w formie elektronicznej (np. pamięć USB, CD/DVD), z kalkulatorów ani innych przenośnych urządzeń elektronicznych, takich jak telefon komórkowy, notebook itp.
- Podczas Mistrzostw obowiązują zasady fair-play. Nie będziemy ich tu definiować, ale w szczególności zabronione jest:
- korzystanie przez drużyny z pomocy osób trzecich,
- kontaktowanie się z innymi drużynami podczas trwania zawodów,
- używanie własnych urządzeń elektronicznych,
- wnoszenie na teren zawodów nośników pamięci (np. pendrive’ów),
- próby przeciążania systemu (np. nieracjonalnie dużą liczbą zgłoszeń),
- wszelkie działanie mające na celu utrudnienie startu innym drużynom bądź zakłócenie przebiegu zawodów,
- ...
Uczestnictwo w zawodach
- Aby wziąć udział w Mistrzostwach drużyna musi wypełnić wszystkie poniższe warunki:
- zarejestrować się w systemie Mistrzostw podając prawdziwe dane osobowe i kontaktowe wszystkich zawodników drużyny z jednej szkoły,
- zostać zakwalifikowana do Mistrzostw (patrz punkt Zasady kwalifikacji),
- potwierdzić chęć udziału w Mistrzostwach (kapitanowie drużyn otrzymają stosowne wiadomości e-mail z instrukcjami),
- przejść pozytywnie proces uwierzytelnienia.
- Zasady kwalifikacji.
- Na podstawie turniejów kwalifikacyjnych utworzony zostanie łączny ranking drużyn, w którym pierwszym kryterium uporządkowania drużyn będzie (sumaryczna) liczba rozwiązanych zadań, a drugim - łączna kara czasowa.
- W rankingu nie zostaną uwzględnione drużyny, które w turniejach kwalifikacyjnych rozwiążą mniej niż 4 zadania.
- 10 najlepszych drużyn w rankingu zostanie zakwalifikowanych do udziału w Mistrzostwach.
- Następnie, ranking jest przeglądany z góry na dół, począwszy od pozycji 11, i kwalifikowane są pierwsze drużyny z każdej szkoły, aż do wypełnienia limitu drużyn, które organizatorzy mogą przyjąć na Mistrzostwa. Jeśli pierwsze przeglądnięcie rankingu nie wypełniło limitu, robiony jest drugi przegląd rankingu, podczas którego kwalifikowane są drugie drużyny z każdej szkoły. W razie potrzeby robione są kolejne przeglądy.
- Do udziału w Mistrzostwach zostanie zakwalifikowanych co najmniej 40 drużyn.
- Organizatorzy zastrzegają sobie prawo przyjęcia pewnej liczby drużyn z dziką kartą.
- Uwierzytelnienie drużyn.
- W oficjalnej rywalizacji Mistrzostw mogą wziąć udział jedynie drużyny uwierzytelnione, tj. takie, których dane zostały potwierdzone przez nauczycieli bądź dyrekcje szkół. Drużyny nieuwierzytelnione mogą wziąć udział w rywalizacji nieoficjalnej.
- Drużyny z innych szkół powinny zwrócić się do swoich nauczycieli (bądź dyrekcji szkół), by Ci przesłali na adres
mistrzostwamap@cs.uni.wroc.pl
następujące informacje o każdej z drużyn:
- Nazwa drużyny
- Imiona i nazwiska członków drużyny (oraz przy każdym zawodniku informację, do której klasy uczęszczał w roku szkolnym 2022/2023)
- Ponadto informacja powinna zawierać: nazwę szkoły, imię i nazwisko osoby autoryzującej (nauczyciela lub dyrektora) i kontaktowy numer telefoniczny do tej osoby. W przypadkach, w których powyższa procedura okaże się być niemożliwa do przeprowadzenia, drużyny mogą wysłać maila ze stosownymi informacjami na powyższy adres mailowy. Organizatorzy spróbują innych procedur uwierzytelnienia, choć nie mogą gwarantować ich pomyślnego skutku.
Przebieg zawodów
- Zawody trwają dwa dni.
- W pierwszym dniu odbędzie się sesja próbna, w czasie której uczestnicy będą mogli zapoznać się ze środowiskiem programistycznym (sieć komputerowa, kompilator, tryb oceniania, itp.).
- Właściwe zawody odbędą się w drugim dniu i trwają pięć godzin. W przypadku wystąpienia nieprzewidzianych trudności organizatorzy w porozumieniu z jury zawodów mają prawo przedłużyć czas rozwiązywania zadań.
- Do rozwiązania będzie 15 zadań, których treść będzie odkrywana przed zawodnikami w trakcie zawodów według następującego harmonogramu:
- w momencie rozpoczęcia zawodów odkrytych zostanie 7 zadań.
- w czasie trwania zawodów będą odkrywane kolejne zadania:
- po upływie pierwszej godziny – 4 zadania,
- po upływie drugiej godziny – 2 zadania,
- po upływie trzeciej godziny – 2 zadania.
- Zamierzeniem organizatorów jest, by w każdej turze wśród odkrywanych zadań znajdowały się zadania o różnym stopniu trudności (także zadania nieskomplikowane).
- Każde zadanie można rozwiązywać do końca zawodów, niezależnie od czasu jego odkrycia.
- System konkursowy umożliwia kontakt z organizatorami w celu zadania pytań. Należy mieć na uwadze, że ze względu na specyfikę zawodów, odpowiedzi mogą nadchodzić z opóźnieniem. W systemie mogą też pojawiać się ogłoszenia publiczne. Zalecane jest przeglądanie ogłoszeń, gdyż mogą one zawierać ważne informacje organizacyjne lub dotyczące treści zadań lub wyników.
- Podczas zawodów widoczne będą pełne wyniki zgłoszeń na zbiorze wszystkich testów. Należy mieć na uwadze ewentualne opóźnienia w ocenie przy dużym obciążeniu systemu.
- Jury zawodów może zdyskwalifikować drużyny, które próbują złamać zabezpieczenia systemu konkursowego lub utrudnić przebieg zawodów.
Ocena rozwiązań
- Rozwiązaniem każdego zadania jest program komputerowy napisany w języku C, C++, Java lub Python.
- Każde rozwiązanie przesłane do oceny jest sprawdzane przez system sprawdzający na zestawie testów (w tym na testach niejawnych, nie podanych w treści zadania). Wynikiem sprawdzenia jest zaakceptowanie (status
accepted
) albo odrzucenie rozwiązania (inny status).
- Rozwiązanie zostanie zaakceptowane tylko wtedy, gdy dla wszystkich testów udzieli poprawnej odpowiedzi i poprawnie zakończy swoje wykonanie.
- W treści każdego zadania znajduje się informacja o limicie pamięci (taki sam dla wszystkich testów) oraz limicie czasu na test. Limit czasu podany w treści zadania dotyczy maksymalnych testów. Limit czasu w pozostałych testach może być mniejszy. Organizatorzy pozostawiają sobie definiowanie pojęcia maksymalnych testów. Przekroczenie tych ograniczeń skutkuje odrzuceniem rozwiązania.
- Do przeprowadzenia oceny rozwiązań używane będą dane wejściowe, których format jest opisany w treściach zadań.
- Drużyny są szeregowane na podstawie liczby zaakceptowanych zadań. O kolejności drużyn posiadających tę samą liczbę zaakceptowanych zadań decyduje mniejsza kara czasowa. Kara czasowa naliczana jest jedynie za zaakceptowane zadanie i jest równa liczbie minut, które upłynęły od odkrycia zadania do jego zaakceptowania, powiększoną o 20 minut za każde wcześniejsze niezaakceptowane zgłoszenie drużyny do tego zadania. Kara czasowa drużyny to suma kar naliczonych za wszystkie zaakceptowane zadania.
- Rozwiązania niekompilujące się (komunikat
compilation error
) i rozwiązania nadesłane do już zaakceptowanego zadania nie powodują naliczenia 20-minutowej kary czasowej.
- W trakcie zawodów, przez pierwsze cztery godziny trwania sesji, do publicznej wiadomości są na bieżąco podawane aktualne wyniki drużyn. Przez ostatnią godzinę informacje o wynikach sprawdzania rozwiązań swojej drużyny otrzymują tylko zawodnicy.
Klasyfikacje
- Drużyny startujące w oficjalnej rywalizacji będą sklasyfikowane w następujących (coraz węższych) kategoriach:
- Kategoria ogólna – obejmująca wszystkie drużyny,
- Kategoria niematurzystów – obejmująca drużyny, w których składach nie ma żadnego maturzysty,
- Kategoria pierwszoklasistów – obejmująca drużyny składające się wyłącznie z uczniów klas pierwszych.
Ponadto zostanie podana klasyfikacja "open" obejmująca wszystkie nieautoryzowane drużyny.
Uwagi końcowe
- Kwestie nie objęte Regulaminem rozstrzyga jury zawodów. Decyzje jury są ostateczne i nie podlegają reklamacji.