Как стать автором
Обновить

Олимпиадная информатика. Часть первая: подготовка

Я думаю, многим приходилось программировать «в полевых условиях»: без чашки чая или кофе, без документации к языку, без возможности спросить кого-либо о том, как сделать, скажем, сортировку массива. Примером таких условий являются олимпиады, на одну из которых мне посчастливилось попасть.

В процессе подготовки мне дали несколько ценных советов. Ими я с Вами и поделюсь.

Свою статью я разобью на три части: советы по подготовке, советы по работе, отчет о том, как все прошло.

Часть первая. Подготовка



Совет первый. Выучи язык.

На моей олимпиаде разрешена документация только по синтаксису языка.
Очень важно знать не только синтаксис языка, но и то, как используются функции и в каких библиотеках они находятся.
Использование функций самого языка, как правило, быстрее, чем написанные самим. К тому же, проще заучить, как использовать функцию qsort, чем заучить алгоритм сортировки пузырьком.

Совет второй. Повтори алгебру и геометрию.

На моей олимпиаде часто используют задачи на геометрию, например, нужно узнать, пересекаются ли два отрезка. Здесь очень помогло бы знание формул из геометрии и алгебры, в данном случае — уравнение прямой. Повторив их, можно выиграть несколько десятков баллов.

Совет третий. Узнай, какая среда используется.

В бланке опроса были пункты об используемом языке программирования. Я выбрал язык программирования «gcc c++», о среде ничего не было сказано. (Кстати говоря, в конце лекции по подготовке у нерда-организатора можно попросить поставить любой другой язык, среду или ОС).
Очень важно узнать, в какой среде Вы будете писать. Если ты не знаком с ней, спроси, можно ли поставить ту, которую ты предпочитаешь. Если ответ будет отрицательным, поставь себе дома ту среду, которая будет использоваться на олимпиаде, попробуй сделать то, что ты делаешь обычно в своей любимой среде.

Совет четвертый. Практикуйся.

Задания могут быть совершенно не связанными с реальными задачами. Скажем, будет требоваться узнать, подойдет ли ключик к двери, а не писать авторизацию через БД.
В сети есть сайты, на которых есть много задач по программированию. Возьми пару заданий с них, попробуй решить, не пользуясь справкой. Посмотри, что было сложным для тебя, поищи, что могло бы тебе помочь.

Совет пятый. Спроси или поищи условия.

Хорошо знать перед олимпиадой, что будет требоваться написать 8 задач, за каждую из которых дается максимум 100 баллов, и за 450 баллов можно получить диплом.
Найди задания прошлых лет, попробуй решить их. Составь список того, какие задачи любят организаторы, удостоверься в том, что ты сможешь их решить без помощи справки.

Совет шестой. Создай заготовки кода, которые могут понадобиться и запомни их.

Тебе может понадобиться, например, функция, находящая сумму цифр числа. Намного лучше, если ты уже знаешь, что делать.

Совет пятый. Подготовься к худшему.

Возьми флешку, удали все файлы с нее, запиши на нее IDE, которая используется на олимпиаде, свою любимую IDE, мануал по языку. Распечатай «шпаргалку» (cheat sheet) по среде и языку. В принципе, флеш-накопители запрещены, но в крайнем случае можно подойти к организатору и попробовать попросить установить твою любимую IDE.
_________
Текст подготовлен в ХабраРедакторе
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.