Zasady automatycznego sprawdzania programów
- Automatyczna sprawdzarka działa na Linuksie i używa kompilatora GNU z opcjami -std=c++11 -Wvla -Werror.
- Automatyczna sprawdzarka usuwa z przesłanego pliku wszystkie dyrektywy include i dodaje takie, jakie są podane w zadaniu. Nie ma więc znaczenia, czy przesłany kod zawiera dyrektywy include, czy nie. Jeżeli natomiast rozwiązanie korzysta z plików nagłówkowych niewymienionych w zadaniu, to nastąpi błąd kompilacji.
- Nie wolno używać dyrektywy using namespace std.
- W przypadku zadań typu napisz program sprawdzarka kompiluje przesłany kod bez zmian, uruchamia program z testowymi danymi wejściowymi i porównuje dane wyjściowe z poprawnym wzorcem. Oznacza to w szczególności, że program nie powinien wypisywać żadnych dodatkowych komunikatów typu Podaj dane, żadnych dodatkowych znaków interpunkcyjnych itp. Takie dodatkowe wydruki nie pasują do wzorca i są wobec tego traktowane jako błąd.
- W przypadku zadań typu napisz funkcję lub napisz klasę sprawdzarka dodaje do przesłanego kodu własną funkcję main, która testuje przesłaną funkcję lub klasę. Oznacza to, że przesłany kod nie powinien zawierać funkcji main. Jeżeli przesłany kod zawiera funkcję main, to po dodaniu przez sprawdzarkę drugiej takiej funkcji w programie istnieją dwie funkcje main, co powoduje błąd kompilacji.