20.04.2012 |
Правила проведения II краевой олимпиады по программированию |
Правила проведения II краевой олимпиады по программированию
1. Участник олимпиады может использовать допустимые языки программирования. Допустимыми являются следующие языки программирования: Delphi, Pascal, C++, Java. Разные задачи можно решать на разных языках программирования. Файл с решением не должен содержать ссылки на внешние модули и файлы, не входящие в стандартный состав используемого компилятора.
Разрешенные компиляторы:
- GNU C Compiler 4.4.5
- GNU C++ Compiler 4.4.5
- Free Pascal Compiler 2.4.2
- Borland Delphi for Linux 14.5
- Sun Java 6
- Python 2.6.6
- Python 3.1.3
2. Решением задачи является исходный текст программы, составленный на одном из допустимых языков программирования. Все задачи решаются с использованием файлового ввода и вывода данных: исходные данные читаются из входного файла, результат записывается в выходной файл. Следует обратить особое внимание на то, что имя файла должно совпадать с указанным в условии задачи с точностью до регистра.
Решение участника должно считывать исходные данные из входного файла так, как это указано в условии задачи. Запись ответа должна производиться в выходной файл в соответствии с требованиями, описанными в условии задачи. Необходимо точно соблюдать форматы ввода/вывода, описанные в условии каждой задачи. Решения с неправильно организованным вводом/выводом данных не оцениваются, но засчитываются за попытку.
Пример правильно оформленной программы.
Входной файл: input.txt
Выходной файл: output.txt
Задача. Найти сумму двух введенных чисел.
Формат файла входных данных: В единственной строке входного файла расположено два числа, по модулю не превосходящие 32000.
Формат файла выходных данных: В выходной файл вывести сумму данных двух чисел.
Решение на языке Pascal
var a,b : longint;
begin
assign(input, 'input.txt');
assign(output, 'output.txt');
reset(input);
rewrite(output);
read(a,b);
write(a+b);
close(input);
close(output);
end.
Решение на языке C++
#include <stdio.h>
int main ()
{
long a, b;
freopen ("input.txt", "r", stdin);
freopen ("output.txt", "w", stdout);
scanf ("%ld %ld", &a, &b);
printf ("%ld", a+b);
return 0;
}
Решение на языке Java
import java.io.*; import java.util.*;
public class Main{ public static void main(String[] args) throws IOException{ Scanner in = new Scanner(new FileInputStream("input.txt")); PrintWriter out = new PrintWriter(new FileWriter("output.txt")); int a = in.nextInt(); int b = in.nextInt(); out.print(a + b); out.close(); } }
3. Каждое отправленное участником решение задачи будет проверено на наборе тестов, которые неизвестны участникам. За правильное прохождение каждого теста начисляется определенное количество баллов. В случае неверного ответа на тест, баллы за него не начисляются.
4. Время и объем используемой при работе программы памяти не должен превышать оговоренные в условии задачи значения. Решение, превысившее данные ограничения, считается неэффективным и за тест, в котором превышены ограничения, баллы не начисляются.
5. Жюри обладает исключительным правом определения правильности прохождения тестов, выставления оценок, определения победителей и дисквалификации участников. Жюри разбирает вопросы, возникающие в результате непредвиденных событий и обстоятельств. Решения жюри окончательны и обжалованию не подлежат.
6. Окончательным решением каждой задачи считается решение, набравшее наибольшее количество баллов. Жюри оставляет за собой право тестировать решения неограниченное число раз и выбрать наихудший результат.
7. Штраф за попытку в пробном туре составляет 0 баллов. Штраф в заочном и очном турах будет оговорен отдельно.
8. Итоговый балл за задачу определяется как суммарное количество баллов за успешно пройденные тесты минус штраф.
9. После определения победителей Олимпиады решения и тесты по задачам будут размещены на сайте организатора олимпиады (school9.perm.ru).
Порядок работы с тестирующей системой
- Доступ к тестирующей системе осуществляется выбором пункта «Тестирующая система» сайта http://sсhool9.perm.ru или входом на сайт http://school9.perm.ru/gate.
- Для входя в систему первый раз необходимо зарегистрироваться в системе, перейдя в раздел «Краевая олимпиада" и заполнить все поля предложенной формы. Вводимый пароль есть пароль для входа в тестирующую систему, логин будет выдан после нажатия на кнопку "Зарегистрироваться". Обращаем внимание, что при задании пароля важен регистр символов. Следует запомнить свой пароль и учетную запись.
- При входе в тестирующую систему нужно выбрать пункт «Олимпиады» и ввести логин и пароль. При этом будет доступен контест «Пробный тур». Количество посылок на контест «Пробный тур» не ограничено. Далее там добавятся контесты заочного тура.
- В режиме «Монитор» отображаются все участники с текущими результатами.
- В режиме «Список задач» отображается список задач. Выбрав задачу, нужно внимательно прочитать условие, обратив внимание на ограничения по времени, памяти, формат входных и выходных условий.
- В режиме «Послать решение» происходит отправка решения на тестирование удаленному серверу. Для этого нужно:
- выбрать название задачи;
- выбрать компилятор;
- вставить подготовленное решение в окно;
- нажать кнопку «Отправить на тестирование».
- В режиме «Статус» можно просмотреть ход тестирования, обновляя экран по мере необходимости. Здесь же выдаются сообщения об ошибках.
- Информацию об ошибках можно посмотреть в пункте «Чаво» главного окна тестирующей системы.
|