Instancje nazywamy według schematu {numer_indeksu}_{rozmiar}.in
, np. 136780_50.in
. Umieszczamy je w {numer_projektu}/instances. Każdy musi wygenerować po jednej instancji dla rozmiarów n in range(50, 501, 50)
. Po dodaniu instancji, aktualizujemy listę indices
w pliku metadata.py. Do arkusza wpisujemy się w tej samej kolejności co do listy indices
.
Swój algorytm umieszczamy w {numer_projektu}/src
. Po dodaniu programu, aktualizujemy słownik program_commands
w pliku metadata.py, podając dla klucza będącego swoim numerem indeksu polecenie do uruchomienia programu.
Program powinien czytać instancję ze standardowego wejścia i wypisywać wynik na standardowe wyjście. Przykład sample136780.py
.
Weryfikator każdy pisze sam. Jednak, żeby skorzystać ze skryptów obliczających wyniki zbiorcze, powinien on przestrzegać następujących wymagań:
- Weryfikator przyjmuje dokładnie 3 argumenty:
- W przypadku testowania pliku wynikowego są to
ścieżka_do_instancji o ścieżka_do_pliku_wynikowego
, np.1/instances/136780_50.in o seq.out
. - W przypadku testowania programu są to
ścieżka_do_instancji p komenda_wywołująca_program
, np.1/instances/136780_50.in p 1/src/sample136780.py
.
- W przypadku testowania pliku wynikowego są to
- Weryfikator wypisuje na standardowe wyjście:
- W przypadku testowania pliku wynikowego wypisuje dokładnie 2 liczby oddzielone pojedynczą spacją. Są to
czy_poprawny wartość_kryterium
. Wartośćczy_poprawny
wynosi 1, jeśli obliczone wartości kryterium się zgadzają, 0 w przeciwnym przypadku. - W przypadku testowania algorytmu wypisuje dokładnie 3 liczby oddzielone pojedynczymi spacjami. Są to
czy_poprawny wartość_kryterium czas_wykonania
. Dwa pierwsze argumenty są takie jak powyżej. Czas wykonania zwracamy w ms.
- W przypadku testowania pliku wynikowego wypisuje dokładnie 2 liczby oddzielone pojedynczą spacją. Są to
Aby uruchomić swój weryfikator na wszystkich instancjach, można skorzystać ze skryptu validate_validator.py
. Przyjmuje on 2 argumenty: numer_projektu polecenie_wywołujące_weryfikator
Aby uruchomić wszystkie algorytmy na swoich instancjach, można skorzystać ze skryptu test_programs.py
. Przyjmuje on 3 argumenty: numer_projektu polecenie_wywołujące_weryfikator numer_indeksu