Содружество «Интеркинд» 2010-2011 учебный год Правила олимпиады 1. Основные правила 1.1 Олимпиада проходит в течение 5-и часов. 1.2 Решением является программа, написанная на одном из следующих языков программирования: Язык Компилятор Командная строка программирования dcc32 –cc !.dpr Delphi Borland Delphi 7.0 cl /Og /O2 !.cpp C++ Microsoft Visual C++ .NET 2003 1.3 На рабочем месте каждого участника Олимпиады инсталлируется следующее программное обеспечение: Windows 2000/XP/Vista; Воrlаnd Delphi 6.0/7.0; Borland Developer Studio 2005/2006; Visual Studio 2003/2005; Far Manager 2.0 1.4 Жюри имеет решение всех задач на Borland Delphi 7.0 или C++. 16-битные компиляторы предоставляются исключительно для участников, не имеющих опыта работы с 32-битными компиляторами. Жюри не гарантирует возможность решения любой из предложенных задач при использовании 16-битных компиляторов. 1.5 Каждый участник Олимпиады может задать вопросы членам жюри по условиям задач. Вопросы должны задаваться в письменном виде и формулироваться так, чтобы ответ был либо "да", либо "нет". Ответы жюри на вопросы участников могут быть следующими: "да", "нет", "без комментариев". 1.6 Участникам Олимпиады категорически запрещается во время туров пользоваться личными компьютерами, калькуляторами, электронными записными книжками, средствами связи (пейджерами, мобильными телефонами и т.п.), принесенными электронными носителями информации (дискетами, CD- и DVD-дисками, модулями флэш-памяти и т.п.), а также учебной литературой и заготовленными личными записями. 1.7 Во время тура участники Олимпиады имеют право общаться только с представителями жюри, технического комитета, а также с находящимися в аудитории дежурными преподавателями. 1.8 В случае возникновения во время тура не по вине участника сбоев в работе компьютера или используемого программного обеспечения по решению жюри время, затраченное на восстановление работоспособности компьютера, может быть компенсировано. 1.9 По истечении времени тура участникам Олимпиады запрещается выполнять любые действия на компьютере. 2. Требования к решениям 2.1 Программа должна полностью содержаться в одном файле, использование своих модулей не допускается. 2.2 Участникам Олимпиады разрешается использование в решениях задач любых внешних модулей и заголовочных файлов, включенных в стандартную поставку соответствующего компилятора. 2.3 Программа должна читать входные данные только один раз из файла, указанного в условии задачи и выводить результат в выходной файл, указанный в условии задачи. Программа должна считать, что эти файлы находятся в текущем каталоге. 2.4 Результаты работы программы проверяются полностью в автоматическом режиме, поэтому программа должна точно соблюдать формат ввода и вывода, указанный в условии. 2.5 Гарантируется, что входные файлы будут соответствовать формату, указанному в условии. 2.6 Ввод с клавиатуры и вывод на экран строго запрещен. 2.7 Программа не должна: использовать расширенную память и защищенный режим процессора при использовании 16-битных компиляторов; осуществлять чтение и запись векторов прерываний; Страница 1 из 3 Содружество «Интеркинд» 2010-2011 учебный год осуществлять любой ввод/вывод, кроме открытия, закрытия, чтения и записи файлов, указанных в условии задачи, в том числе создание подкаталогов, смену текущего каталога и ввод/вывод через порты; осуществлять запуск других программ и создание новых процессов; создавать или работать с любыми GUI объектами (окнами, диалогами и т.д.); работать с внешними устройствами (принтером, сканером и т.д.); иметь ненулевой код завершения. 3. Технические ограничения 3.1 Во всех задачах будет указано максимальное количество баллов, которые можно получить за данную задачу. 3.2 Решение участника будет оцениваться на секретном наборе тестов, заранее подготовленных жюри. За успешное прохождение каждого теста участник получит определенное количество баллов. 3.3 Решение должно выдавать одинаковые ответы на одинаковые тесты, вне зависимости от времени запуска программы участника и программного окружения. Жюри вправе произвести неограниченное количество запусков программы участника и выбрать наихудший результат по каждому из тестов. 3.4 Во всех задачах будет указано максимальное время работы на одном тесте. Программа, превысившая допустимый предел времени работы, прерывается. 3.5 Во всех задачах будет указан максимальный размер доступной памяти. Программа, превысившая допустимый предел памяти, прерывается. 3.6 Решение участника принимается на проверку только в том случае, если оно успешно проходит все тесты, приведенные в условии задачи. 3.7 При проверке решений для определения времени работы программы и размера используемой памяти будут использоваться средства WinAPI. Проверка будет проведена на компьютере Pentium IV 2400 MHz. 4. Прочие ограничения 4.1 Данные правила необходимо довести до сведения всех участников Олимпиады. 4.2 Незнание данных правил не служит основанием для повышения оценки за решение. 5. Пример программы, которая считывает из входного файла “sum.in” два числа и выводит в выходной файл “sum.out” сумму этих чисел. 5.1 Borland Delphi 7.0 {$Apptype Console} Program Summa; Const InFile = ‘sum.in’; OutFile = ‘sum.out’; Var A, B : LongInt; Begin Assign(InPut, InFile); ReSet(InPut); Assign(OutPut, OutFile); ReWrite(OutPut); Read(A, B); Write(A + B); Close(Output); End. 5.2 Microsoft Visual C++ .NET 2003 #include #include #include #include <vector> <string> <algorithm> <iostream> Страница 2 из 3 Содружество «Интеркинд» 2010-2011 учебный год #include <fstream> #include <sstream> #include <cmath> using namespace std; int main() { ifstream infile ("sum.in"); ofstream outfile ("sum.out"); long a, b; infile >> a >> b; outfile << a + b; return 0; } Страница 3 из 3