Tutorial

Jaka jest forma Mistrzostw?

Forma Mistrzostw wzorowana jest na ogólnoświatowym konkursie International Collegiate Programming Contest (organizowanych przez ACM). Waszym zadaniem będzie napisanie programów, rozwiązujących problemy opisane w treściach zadań, dostarczonych przez organizatorów (przykład w dalszej części tutorialu). Podstawowym elementem tych zawodów jest to, że rozwiązania zadań można (i należy) wysyłać do sprawdzenia w trakcie trwania konkursu i oceniane są one na bieżąco. Będzie można to zrobić poprzez specjalny system WWW zwany Sprawdzarką. Jest to system automatyczny, więc nie należy zakładać, że Wasze programy będą testowane przez ludzi. Kolejnym ważnym elementem jest to, że zawodnicy startują w trzyosobowych drużynach, ale mają tylko jeden komputer do dyspozycji. Umiejętne rozplanowanie podziału komputera jest ważną częścią strategii. Warto jeszcze wspomnieć, że zawodnicy mogą mieć ze sobą wszelkiego rodzaju materiały w formie papierowej (książki, zeszyty, listingi programów, dokumentacje, wydruki). Mogą okazać się pomocne i dzięki nim nie trzeba będzie uczyć się wszystkiego na pamięć. Nie liczcie jednak na to, że będą one kluczem do zwycięstwa — zadania są na myślenie, a nie na wiedzę! Zabronione natomiast będzie korzystanie z materiałów elektronicznych i z internetu (dostęp do internetu będzie zablokowany).

Na Sprawdzarce umieszczone będą zestawy testowe, którymi zostaną przetestowane wysyłane programy. Jeżeli program da prawidłową odpowiedź dla wszystkich testów i nie będzie działać za długo, to zostaje on zaakceptowany (Sprawdzarka da ocenę Accepted) i zadanie zostaje uznane za rozwiązane. W przeciwnym wypadku rozwiązanie zostanie odrzucone (nie ma czegoś takiego jak częściowa akceptacja) i Sprawdzarka zwróci któryś z komunikatów, informujących o rodzaju błędu jaki wystąpił przy sprawdzaniu programu: Compile Error (błąd kompilacji), Runtime Error (błąd wykonania), Time Limit Exceeded (przekroczony limit czasu), Wrong Answer (błędna odpowiedź) lub Rule Violation (naruszenie zasad zawodów). Komunikaty opisane są szczegółowo (wraz z przykładami) w dalszej części tutorialu. Poza jednym z wymienionych komunikatów nie otrzymacie żadnej innej informacji o tym co Wasz program robi źle i nie proście o nią sędziów (wyjątkiem jest Compile Error, przy którym zawodnicy mają prawo wiedzieć co spowodowało ten błąd). Jeżeli rozwiązanie nie zostanie zaakceptowane zawodnicy mogą próbować je poprawić i wysyłać ponownie.