Школьная олимпиада по программированию, 2005-2006 год
Итоговая таблица результатов
Младшая лига
Участник | a01 | a02 | a03 | a04 | a05 | a06 | a07 | a08 | a09 | a10 | a11 | a12 | a13 | a14 | a15 | sum |
Крохина Дарья, 8 класс | 100 | 100 | 100 | 96 | 100 | 100 | 100 | 100 | 80 | 100 | 76 | 100 | 45 | 100 | 100 | 1397 |
Шимко Олег, 9 класс | 100 | 100 | 100 | 100 | 100 | 100 | 98 | 75 | 85 | 100 | 100 | 60 | 75 | 15 | 100 | 1307 |
Елшин Денис, 9 класс | 100 | 100 | 50 | 94 | 100 | 100 | 0 | 100 | 90 | 100 | 92 | 100 | 100 | 1126 | ||
Келлер Артем, 9 класс | 100 | 100 | 50 | 100 | 96 | 100 | 90 | 80 | 100 | 92 | 80 | 988 | ||||
Полонский Сергей, 9 класс | 100 | 60 | 70 | 88 | 100 | 100 | 46 | 100 | 80 | 40 | 777 | |||||
Головко Александр, 9 класс | 100 | 100 | 100 | 72 | 92 | 100 | 88 | 30 | 5 | 687 | ||||||
Заостровных Арсений, 9 класс | 100 | 100 | 72 | 96 | 100 | 40 | 85 | 85 | 678 | |||||||
Мосяйкин Владимир, 9 класс | 100 | 100 | 100 | 100 | 100 | 100 | 12 | 612 | ||||||||
Захаров Сергей, 8 класс | 100 | 35 | 50 | 72 | 16 | 100 | 0 | 373 | ||||||||
Панов Михаил, 9 класс | 100 | 100 | 55 | 94 | 349 | |||||||||||
Горбик Дмитрий, 9 класс | 100 | 100 | 70 | 270 | ||||||||||||
Тренин Кирилл, 8 класс | 100 | 100 | 70 | 270 | ||||||||||||
Лошкарев Владимир, 9 класс | 50 | 76 | 32 | 100 | 258 | |||||||||||
Якушев Игорь, 9 класс | 100 | 100 | 50 | 250 | ||||||||||||
Мадекин Сергей, 9 класс | 100 | 100 | 200 | |||||||||||||
Соломатин Павел, 9 класс | 100 | 95 | 195 | |||||||||||||
Гронский Дмитрий, 8 класс | 100 | 55 | 155 | |||||||||||||
Пирогов Павел, 9 класс | 100 | 100 | ||||||||||||||
Сашурин Александр,9 класс | 100 | 100 |
Старшая лига
Участник | b01 | b02 | b03 | b04 | b05 | b06 | b07 | b08 | b09 | b10 | b11 | b12 | b13 | b14 | b15 | sum |
Туркин Игорь, 11 класс, 218 шк. | 100 | 100 | 100 | 55 | 100 | 100 | 96 | 100 | 90 | 60 | 100 | 70 | 68 | 1139 | ||
Нефедов Павел, 10 класс | 100 | 100 | 40 | 100 | 100 | 100 | 100 | 70 | 40 | 30 | 100 | 80 | 70 | 1030 | ||
Яблочкин Константин, 11 класс | 100 | 100 | 200 | |||||||||||||
Годжаев Георгий, 10 класс | 100 | 100 | ||||||||||||||
Рушайло Александр, 11 класс | 100 | 100 | ||||||||||||||
Захаров Сергей, 8 класс | 28 | 28 |
Условия задач
Правила школьной олимпиады по программированию, 2005-2006 год
Общие положения
В олимпиаде могут принять участие учащиеся школы 179, а также все желающие (вне конкурса). Олимпиада состоит из нескольких туров, продолжительность каждого тура 1 неделя. Олимпиада проводится в двух лигах: младшей (учащиеся 8-9 классов) и старшей (учащиеся 10-11 классов). Учащиеся 10-11 классов могут участвовать в младшей лиге вне конкурса. Предполагаемое количество туров – 20, предполагаемый срок завершения олимпиады: апрель 2006 года.
На каждый тур предлагается 1 задача в каждой лиге. Решением задачи является программа (исходный текст).
Правила сдачи решений
Решением задачи является программа (исходный текст) на языках C, C++, Pascal, Python. В начале программы в комментариях должен быть указан номер (id) задачи, язык программирования, имя участника. Формат записи:
Problem: номер (id) задачи. Указывается в условиях задачи.
Language: язык программирования. Одна из четырех строк: c, c++, pascal, python.
Author: имя автора задачи. Для пользователей локальной сети школы – имя пользователя, для всех остальных – произвольное имя (последовательность латинских букв без пробелов), которое не должно меняться от тура к туру.
Пример заголовка файла на C++:
// Problem: a01 // Language: c++ // Author: dk
Решения принимаются по электронной почте по адресу olymp2006@179.ru в виде вложения к письму. Разрешается присылать несколько решений одной задачи при этом в зачет идет последнее решение.
Расписание тура
Каждый тур начинается по четвергам публикацией новых задач и продолжается до вторника следующей недели. Решение задач тура должно быть отправлено не позднее 23.59 вторника. В среду (на следующий день после окончания тура) около 15.00 проводится тестирование присланных решений, разбор задач и подведение результатов тура.
В расписания отдельных туров при необходимости могут вносится изменения.
Требования к решениям
Программа должна быть написана на одном из языков программирования: C, C++, Pascal, Python и состоять из одного файла. Программа должна читать данные со стандартного входа и выводить результат работы на стандартный выход в соответствии с установленным в условиях задачи форматом данных. В программе запрещено использовать ассемблерные инструкции, вызов других программ, действия с файловой системой (создание, чтение и запись файлов и каталогов), использование сетевых средств, любые другие действия, нарушающие работу операционной и тестирующей системы.
Эталонным языком является С++, гарантируется, что все задачи могут быть решены с его использованием. Вероятно, все задачи могут быть решены на Free Pascal, скорее всего, не все задачи не могут быть полностью решены на Python (ввиду его небольшой скорости работы).
Тестирование решений
Решения проверяются на компьютерах в 216 кабинете в автоматическом режиме на предварительно подготовленном наборе тестов. Характеристики платформы для тестирования: Pentium III 667MHz processor, 128MB RAM, ALT Linux Master 2.2 OS, kernel 2.4.20, glibc 2.2.6. При тестировании будут использованы следующие трансляторы: gcc версии 3.2.1, Free Pascal версии 1.0.4, python версии 2.2.2. Программа считается успешно прошедшей тест, если она за установленное время выдала верный ответ в формате, соответствующем условиям задачи. Причиной для неуспешного прохождения теста может быть:
- Ошибка трансляции программы.
- Неверный ответ, выданный программой.
- Неверный формат вывода программы.
- Превышение допустимого времени выполнения программы.
- Run-time error (типа Segmentation fault, Access violation, Floating point exception, etc)
- Нарушение правил олимпиады.
Решение должно выдавать одинаковые ответы на одинаковые тесты вне зависимости от времени запуска и программного окружения. Жюри вправе произвести неограниченное количество запусков программы участника и выбрать наихудший результат по каждому из тестов.
Определение победителей
Для каждой задачи жюри подготавливает набор тестов, каждый тест оценивается определенным количеством баллов. Сумма баллов за все тесты по одной задаче равно 100. Жюри вправе устанавливать особые правила оценки отдельных задач. Победитель в каждой лиге определяется по общей сумме набранных баллов за все туры.