Памятка участникам олимпиады

Правила проведения VII краевой олимпиады по программированию

1. Участник олимпиады может использовать допустимые языки программирования (см. список ниже). Разные задачи можно решать на разных языках программирования. Файл с решением не должен содержать ссылки на внешние модули и файлы, не входящие в стандартный состав используемого компилятора.

Разрешенные языки и компиляторы:

Конкретные версии компиляторов указаны в тестирующей системе

Если вашего любимого языка программирования здесь нет, то можно написать нам об этом и мы постараемся его добавить. Писать на почту ionagamed@gmail.com

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. Окончательным  решением каждой задачи считается решение,  набравшее наибольшее количество баллов. Жюри оставляет за собой право тестировать решения неограниченное число раз и выбрать наихудший результат.

8. Штраф за попытку в пробном туре составляет 0 баллов. Штраф в заочном и очном турах будет оговорен отдельно.

9. Итоговый балл за задачу определяется как суммарное количество баллов за успешно пройденные тесты минус штраф.

10. После определения победителей Олимпиады решения и тесты по задачам будут размещены на сайте организатора олимпиады (school9.perm.ru).

Порядок работы с тестирующей системой

  1. Попасть в тестирующую систему можно с сайта sсhool9.perm.ru или по прямой ссылке http://school9.perm.ru/gate.
  2. При входе в тестирующую систему нужно выбрать пункт «Олимпиады» и ввести логин и пароль. При этом будет доступен контест «Пробный тур».  Количество посылок на контест «Пробный тур» не ограничено. Далее там добавятся контесты заочного тура.
  3. В режиме «Монитор» отображаются все участники с текущими результатами.
  4. В режиме «Список задач» отображается список задач. Выбрав задачу, нужно внимательно прочитать условие, обратив внимание на ограничения по времени, памяти, формат входных и выходных условий.
  5. В режиме «Послать решение»  происходит отправка решения на тестирование удаленному серверу. Для этого нужно:
    • выбрать название задачи
    • выбрать компилятор
    • вставить подготовленное решение в окно
    • нажать кнопку «Отправить на тестирование»
  6. В режиме «Статус» можно просмотреть ход тестирования, обновляя экран по мере необходимости. Здесь же выдаются сообщения об ошибках.
  7. Информацию об ошибках можно посмотреть в разделе «Чаво» тестирующей системы.