http://olymp.karelia.ru/pract.htm (сайт школьных олимпиад Республики Карелия);
http://school.sgu.ru/ (сайт по алгоритмизации и программированию Саратовского государственного университета).
Можно также воспользоваться сайтами, которые содержат не только коллекции олимпиадных задач, но и обеспечивают возможность проверки решений представленных там задач. К таким сайтам относятся:
http://acm.timus.ru/ (сайт Уральского государственного университета, содержащий большой архив задач с различных соревнований по спортивному программированию);
http://informatics.mccme.ru (сайт дистанционной подготовки по информатике Московского института открытого образования и МЦНМО);
http://acm.sgu.ru (сайт Саратовского государственного университета, содержащий архив задач с системой онлайн-проверки).
2.4. Требования к решениям задач участников
Решения задач должны сдаваться участниками школьного и муниципального этапов олимпиады на проверку только на электронном носителе. В зависимости от типа задачи ее решением может быть либо текст программы, написанной с использованием допустимых сред программирования (для стандартных и интерактивных задач), либо набор выходных файлов, соответствующих заданным входным файлам (для задач с открытым входом), о чем должно сообщаться в условии задачи.
Разные задачи можно решать с использованием разных языков программирования.
Если решением задачи является программа и для проверки решений участников используется программная среда проведения соревнований, то ее компиляция в проверяющей системе осуществляется с помощью команды компиляции, соответствующей выбранному участником языку программирования. Таблица команд компиляции должна быть доведена до сведения всех участников перед началом каждого тура и содержаться в памятке участнику.
Для задач, решением которых является программа, в тексте условия рекомендуется указывать максимальное время работы программы и размер доступной программе памяти. Временем работы программы считается суммарное время работы процесса на всех ядрах процессора. Память, используемая приложением, включает всю память, которая выделена процессу операционной системой, включая память кода и стек.
Для программ-решений рекомендуется также использовать следующие ограничения: размер файла с исходным текстом программы не должен превышать 256 Кбайт, а время компиляции программы должно быть не больше одной минуты.
Участникам школьного и муниципального этапов олимпиады разрешается использование в решениях задач любых внешних модулей и заголовочных файлов, включенных в стандартную поставку соответствующего компилятора.
В решениях задач участникам запрещается:
• создавать каталоги и временные файлы при работе программы;
• любое использование сетевых средств;
• любые другие действия, нарушающие работу проверяющей системы, если она используется.
Для задач с открытым входом формат выходных файлов должен полностью соответствовать описанным в условии задачи требованиям. При нарушении этих требований выходной файл на проверку не принимается.
Решение в виде программы должно выдавать одинаковые ответы на одинаковые тесты, вне зависимости от времени запуска и программного окружения. Жюри соответствующего этапа олимпиады вправе произвести неограниченное количество запусков программы участника и выбрать наихудший результат по каждому из тестов.
3. Рекомендации по проверке и оцениванию решений участников
Методику проверки и систему оценивания решений задач школьного и муниципального этапов олимпиады предоставляют жюри предметно-методические комиссии соответствующего этапа олимпиады. Все необходимые для этого материалы должны поступить в распоряжение жюри как минимум за 10 дней до начала олимпиады, чтобы члены жюри смогли настроить и проверить работоспособность соответствующего программного обеспечения.
3.1. Методика проверки решений задач участников
Методика проверки решений каждой олимпиадной задачи зависит от типа этой задачи. Если решением задачи является программа, то оценка правильности ее решения осуществляется путем исполнения программы с входными данными, соответствующими каждому тесту из представленного предметно-методической комиссией соответствующего этапа комплекта тестов с последующим анализом получаемых в результате этого выходных файлов. Если решением задачи является набор выходных файлов для заданного в условии задачи набора входных файлов, то оцениваются только представленные на проверку выходные файлы.
Если решением задачи является программа, то результатом решения таких задач является исходный текст программы на одном из разрешенных языков программирования – Pascal, C, С++, и Visual Basic. Рекомендуемые центральной предметно-методической комиссией по информатике среды программирования, приведены в разделе 4.
Поскольку участники олимпиады должны сдавать на проверку решения в виде исходного текста программы на одном из разрешенных языков программирования, то проверка решений каждого участника должна осуществляться в следующей последовательности:
· компиляция исходного текста программы;
· последовательное исполнение полученного exe-файла для файлов с входными данными, соответствующих тестам из набора тестов для данной задачи, подготовленного предметно-методической комиссией по информатике соответствующего этапа;
· сравнение результатов исполнения программы на каждом тесте с правильным ответом.
При компиляции исходного текста программы, которую участник сдал на проверку, необходимо учитывать следующее.
1) Жюри должно использовать вполне определенные команды компиляции, соответствующие выбранному участником языку программирования. Таблица команд компиляции доводится до сведения всех участников перед началом каждого тура и должна содержаться в Памятке участнику.
2) Желательно учитывать, что размер файла с исходным текстом программы не должен превышать 256 Кбайт. Время компиляции программы не должно превышать одной минуты.
В случае нарушения принятых жюри ограничений решение участника считается неправильным и никакие баллы за эту задачу участнику не начисляются. Информация об этих ограничениях также должна быть размещена в Памятке участнику.
При исполнении программы на каждом тесте, в первую очередь, жюри должно определить, нарушаются ли присутствующие в условии этой задачи ограничения на время работы программы на отдельном тесте и размер доступной программе памяти в процессе ее исполнения. В случае нарушения имеющих место ограничений баллы за этот тест участнику не начисляются.
Если приведенные в условии задачи ограничения не нарушаются в процессе исполнения программы с входными данными, соответствующими конкретному тесту, то после завершения исполнения программы осуществляется проверка правильности полученного ответа. Эта проверка может осуществляться как путем сравнения полученного выходного файла с файлом выходных данных из тестового набора данных, так и с использованием предоставляемых предметно-методической комиссией соответствующего этапа проверяющих программ, если для проверки решений участников предполагается использовать специализированную программную среду соревнований с возможность проверки решений в автоматическом режиме.
Все представленные на проверку решения участников сначала должны проходить предварительное тестирование на тестах из примера или примеров, приведенных в условии задачи. Если на этих тестах решение участника выдает правильный ответ, то тогда это решение принимается жюри на окончательную проверку, которая после завершения соответствующего тура осуществляется на всех тестах из заданного набора тестов для этой задачи. В противном случае, решение участника считается неверным, и за него участнику не начисляются какие-либо баллы.
При проверке решений участников с использованием специализированной программной среды соревнований процесс предварительной проверки осуществляется в течение тура по мере посылки решений на сервер соревнований. В зависимости от возможностей проверяющей системы на окончательную проверку может приниматься либо последнее прошедшее предварительное тестирование решение одной и той же задачи, либо то, которое он должен указать. В любом случае, участник олимпиады должен быть проинформирован до начала тура, каким образом будет определяться решение, принятое проверяющей системой для окончательной проверки. Эту информацию также следует разместить в Памятке участнику.
3.2. Система оценивания решений участников
Система оценивания решений каждой олимпиадной задачи школьного и муниципального этапов олимпиады должна предоставляться жюри предметно-методической комиссией соответствующего этапа в следующем виде:
1) комплекта тестов для каждой задачи, где каждому тесту соответствует файл с входными данными и файл с соответствующими выходными данными;
2) распределения максимального количества баллов за задачу (как правило, это 100 баллов, если иное не оговорено в условии задачи) между всеми группами тестов и отдельными тестами внутри каждой группы.
Комплекты тестов разрабатываются таким образом, чтобы жюри соответствующего этапа без проблем могло в максимальной степени оценить все возможные типы алгоритмов, которые могут быть использованы в решениях участников и продифференцировать полученные участниками решения по степени их корректности и эффективности. В общем случае в комплекте тестов для каждой задачи выделяются следующие группы тестов:
1) простые тесты;
2) тесты на частные случаи, позволяющие выявить особенности используемых алгоритмов;
3) общие тесты (достаточно случайные тесты, разные по размеру: от простых тестов до сложных);