http://bestalgorithm.ru | |
Олимпиады по программированию | http://www.olympiads.ru |
Олимпиады по информатике(редактор – Андрей Станкевич) | http://neerc.ifmo.ru/school |
Разбор олимпиадных задач(редактор – Михаил Густокашин) | http://g6prog.narod.ru |
Олимпиады по информатике(сайт мытищинской школы программистов) | http://www.informatics.ru |
Уральские олимпиады по программированию | http://contest.ur.ru |
Спортивное программирование(соревнования «онлайн» с дистанционным тестированием) | http://acm.timus.ru |
Командные олимпиады | http://de.ifmo.ru/cyber-net |
Теперь о том, как биться на олимпиаде. На бой выходите со свежей головой, что называется в здравом уме и крепкой памяти. Ударные занятия перед олимпиадой только навредят, – лучше на пару дней забудьте о Паскале, погуляйте на воздухе и хорошенько отоспитесь.
Явитесь на олимпиаду без опоздания. Не тревожьтесь, ведь коленки дрожат не только у вас. Волнение – это нормальная реакция на опасность, оно мобилизует организм, но все хорошо в меру.
Внимательно выслушайте предполетный инструктаж, в котором организаторы объяснят правила олимпиады. Получив условия задач, обязательно прочитайте их все и оцените сложность. Не хватайтесь за первую попавшуюся задачу, начинайте с самой легкой на ваш взгляд. Действуйте по принципу «лучше синица в руке, чем журавль в небе». Одолев легкую задачу, беритесь за самую простую из оставшихся. Так вы наберете часть баллов, и настроитесь на решение трудных задач.
А если все решить невмоготу? Тогда примените разрешенную правилами хитрость: выдайте хотя бы одно или два частных решения. Что это такое? Это решение, удовлетворяющее одному из тестов. Предположим, что по условию задачи вы должны вычислить факториал числа. Но вы напрочь забыли о факториале все, кроме того, что факториалы для нуля и единицы равны единице. Тогда выдавайте единицу как решение для всех входных данных. Составители тестов наверняка проверят эти точки, и тогда ваша программа пройдет, по крайней мере, пару тестов.
Олимпиада быстротечна, и время надо беречь. А потому не пишите комментариев, не измышляйте слишком длинных имен. Но основными правилами оформления программ не пренебрегайте (логическими отступами, например), – они избавят вас от путаницы в собственном творении.
Ваше время сэкономит шаблон будущих программ. Вот пример такого шаблона, его можно напечатать в начале тура и сохранить в отдельном файле. И тогда не придется повторно набивать одни и те же операторы в разных задачах.
const CTask = 'Name';
CIn = CTask+'.in';
COut = CTask+'.out';
procedure ReadData;
var F: text;
begin
Assign(F, CIn); Reset(F);
Close(F);