Как прийти к олимпиадам по информатике. Часть 1.

 2017-02-06 20:48:00      

Назад ко всем статьям

Итак, ты решил заняться олимпиадным программированием. С чего же начать? Допустим, ты выбрал приятный тебе язык программирования (о том, что популярно и почему, мы еще поговорим), решаете какие-то задачи на уроках, и вот ты приходишь на свою первую олимпиаду. Стресс гарантирован, и чтобы всё не было так пугающе, обсудим, с какими трудностями ты можешь столкнуться.

1. Новый компьютер, незнакомая среда программирования, что-то не работает. 

По порядку: компьютеры на олимпиадах обычно не отличаются удобностью. К этому надо быть готовым. Привычка к своему компьютеру оказывает пагубное влияние - первые полчаса ты будешь попросту приспосабливаться к новой клавиатуре. Поделать с этим ничего нельзя: свои мыши и клавиатуры на олимпиадах чаще всего не разрешены. Тут надо просто привыкать. Зачастую ребята, готовясь к серьезным соревнованием по программированию, тренируются не на своих компьютерах, чтобы приучить себя к такому дискомфорту.

Незнакомая среда с непривычки всегда проблема. Старайся овладеть стандартными средами для своего языка. Но вообще тут уже не лишним будет позвать ассистента-наблюдателя, которые есть в каждой аудитории, и задать вопрос ему. Тем более если не работает что-то стандартное. На этот случай перед олимпиадой по программированию чаще всего проходит пробный тур, в котором тебя просят написать задачу A+B (сложить два числа и вывести результат), и если по какой-то причине она не работает (хотя ты уверен, что с ней то ты справился) - смело зови наблюдателя, тебе должны помочь.

2. «У меня все работает, а при проверке не работает». Самое распространенное возмущение юных олимпиадников. Тестирующая система выдает один из вердиктов при проверке. Выделяют 7 типов ошибок:

Wrong answer

Неверный ответ. Результат работы программы не совпадает с ответом жюри.

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

Time limit exceeded

Превышен указанный в задаче лимит времени. Программа выполняется дольше установленного времени.

Неэффективное решение или алгоритмическая ошибка в программе.

Presentation Error

Отсутствие выходного файла OUTPUT.TXT

Файл не создан, неверное имя файла или сбой программы до открытия выходного файла.

Compilation error

Ошибка компиляции. В результате компиляции не создан исполняемый файл.

Синтаксическая ошибка в программе или неверно указано расширение файла. Возможно, что при реализации на языке Java был использован класс, отличный от Main.

Memory limit exceeded

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

Неэффективный алгоритм либо нерациональное использование памяти.

Runtime error

Ошибка исполнения. Программа завершила работу с ненулевым кодом возврата. В этом случае результат работы не проверяется.

Возможно, в программе произошло обращение к несуществующему элементу массива, деление на ноль и т.д. Возможно, программа на C++ не завершается оператором «return 0» или по иной причине вернула ненулевой код возврата.

Помимо +/- у каждой задачи в таблице результатов ты еще можешь увидеть цифру. Она обозначает количество неуспешных попыток сдачи.