Олимпиада по программированию

IV Открытая олимпиада школьников по программированию, 2009/10 учебный год

Задачи

Жюри не гарантирует, что все задачи олимпиады можно полностью решить с использованием компиляторов QBasic, Borland Pascal 7.0 и Borland C/C++ 3.1. Для решения задач, в которых вам потребуется больше 64 Кб памяти, рекомендуем использовать компиляторы Free Pascal, Borland Delphi (для программ на паскале) или GNU C/C++, Java.

В некоторых задачах в набор тестов, на которых проверяется решение, первыми тестами включены тесты из условия. Такие тесты оценены 0 баллов.


Задачи 1-го тура заочного этапа (с 15 октября по 10 января)

Обратите внимание, что не все задачи проверяются в режиме ON-LINE. Некоторые задачи проверяются в режиме OFF-LINE, т.е.

при сдаче проверяются только на тестах из условия, а полная проверка таких задач будет происходить после окончания олимпиады! Если одним участником по OFF-LINE задаче сдано несколько решений, проверено будет лишь последнее из них, прошедшее тесты из условия. Мы призываем участников внимательно проверять свои решения перед сдачей их в систему.

Все задачи в doc-файле

Задачи в HTML:

Задача A Последовательность on-line проверка 100 баллов
Задача B Офис on-line проверка 100 баллов
Задача C Книга on-line проверка 100 баллов
Задача D Карточки в метро on-line проверка 100 баллов
Задача E Стройка-2 on-line проверка 100 баллов
Задача F ЕГЭ on-line проверка 100 баллов
Задача G Эвакуация on-line проверка 100 баллов
Задача H Последовательность-2 on-line проверка 100 баллов
Задача I Самолет off-line проверка 100 баллов
Задача J Авангардная архитектура on-line проверка 100 баллов
Задача K Электронное табло on-line проверка 100 баллов
Задача L Заливка on-line проверка 100 баллов

Тесты к задачам:

Скачать тесты ко всем задачам 1 тура (WinRar-архив, 8 Mb)
Краткий разбор задач 1 тура (pdf, 180 Kb)
Решения жюри к задачам 1 тура (WinRar-архив, 13 Kb)


Задачи 2-го тура заочного этапа (с 15 по 18 января)

Все задачи в doc-файле

Задачи в HTML:

Задача A Подмножество off-line проверка 100 баллов
Задача B Восстановление графа off-line проверка 100 баллов
Задача C Дракончики off-line проверка 100 баллов

Уточнения к условиям задач

Задача B.
На вводимую таблицу не накладывается никаких ограничений кроме следующих:
1) она имеет размер N x N
2) все её элементы — неотрицательные целые числа, не превышающие 106.

Задача C.
«В следующие N строк выведите N пар чисел, задающих номера дракончиков, которых нужно поместить в двухместные аквариумы.»
Первое число в паре должно описывать зелёного дракончика, второе — жёлтого. Сами пары могут идти в произвольном порядке.

Тесты к задачам:

Скачать тесты ко всем задачам 2 тура (WinRar-архив, 1386 Kb)
Краткий разбор задач 2 тура (pdf, 90 Kb)
Решения жюри к задачам 2 тура (WinRar-архив, 2 Kb)


Рекомендуем вам в случае возникновения каких-либо вопросов или проблем посмотреть следующие странички:

  • Пятидневка

    Сегодня в 12:25, Галина Александровна Чармусова

    С 2018-2019уч. года МБОУ "Старокупавинский лицей"  переходит на пятидневную учебную неделю -все классы с 1по 11 и на триместровую систему обучения.

  • Тренинги по подготовке к Всероссийским олимпиадам по предметам пр ВУЗах для 9-11кл.

    6 июня 2018 в 13:06, Галина Александровна Чармусова

    Информация по тренингам опубликована  в Официальных документах. 

  • "Забытые вещи"

    4 июня 2018 в 19:05, Галина Александровна Чармусова

    Уважаемые родители ,посмотрите гардероб своих детей .В раздевалке лицея осталось очень много вещей: одежды, обуви( сапоги,зимние ботинки, туфли, кроссовки и т.д.) Просьба до 10 июня подойти в лицей …

  • Родительское собрание для тех, чьи дети идут в ЛОЛ "Солнышко"

    28 мая 2018 в 11:16, Галина Александровна Чармусова

    Родительское собрание  состоится  31мая в 18:00 в кабинете №10.Явка родителей обязательна.

  • Поздравляем!!!

    25 мая 2018 в 21:26, Галина Александровна Чармусова

    Поздравляем наших  дорогих первоклассников  с окончанием  первого класса. Желаем им хорошо отдохнуть летом,набраться сил на преодоление еще одной "ступеньки   к знаниям…

  • Физико-математический класс в Ногинске

    22 мая 2018 в 16:28, Галина Александровна Чармусова

    В соответствии с Федеральной целевой программой «Одаренные дети» в Ногинском районе с 01.09.2018г. открывается инновационный физико-математический класс для учащихся 10 класса на базе АНОО…

  • Вакансии.

    19 мая 2018 в 8:44, Галина Александровна Чармусова

    В МБОУ "Старокупавинский лицей" на 2018-2019 уч. год открыта вакансия учителя русского языка и литературы (полная занятость), так же требуется учитель географии (14ч.) на время декретного …

  • Летняя физико-математическая школа.

    18 мая 2018 в 16:37, Галина Александровна Чармусова

    На базе Ломоносовского лицея, в июне ( с 4 по 22), будет работать физико-математическая школа для учащихся 8,9,11 классов. Изучаемые дисциплины: математика, физика, астрономия, программирование. Зан…

  • Итоги интеллектуального марафона.

    12 мая 2018 в 21:52, Галина Александровна Чармусова

    12.05.2018г в МБОУ "Старокупавинский лицей" в рамках Декады естественно-научных дисциплин был проведен Интеллектуальных марафон. Ребята прошли по станциям занимательная: физика, химия, био…

  • Поздравляем!!!

    10 мая 2018 в 21:12, Галина Александровна Чармусова

    Сегодня 10.05.2018г. подведены итоги ежегодного конкурса «Голоса войны». Конкурсанты читали стихи и прозу, звучали и произведения собственного сочинения. В этом году в конкурсе приняли уча…

  • Беляев С.Н., Кормышев М.Д., Лалетин Н.В. Региональные олимпиады по информатике.

    2010-2011 учебный год: учебно-методическое пособие / Научно-образовательный центр «Перспектива». — Железногорск, 2011. — 212 с.

    Описание:

    Книга предназначена для школьников, учителей информатики, педагогов дополнительного образования, студентов и просто любителей решать олимпиадные задачи по программированию. В книге приведены задачи региональных олимпиад по информатике, проводимых в Красноярском крае в 2010/2011 учебном году. Все представленные в книге задачи и результаты описанных олимпиад присутствуют на сайте http://acmp.ru, большинство задач доступны для самостоятельного решения. Все задачи (всего 33 задачи) имеют разбор и варианты решения на языках Паскаль и Си. Книга снабжена тематическим рубрикатором, в котором задачи упорядочены по темам и сложности.

    Посмотреть содержание (PDF, 187 Кб)

    Распространение книги:

    Цена: 350 руб.

    Заказать книгу можно здесь.

    Рассмотрим процесс решения на примере задачи №274 «Дружные числа».

    Логика решения достаточно проста: для каждого из проверяемых чисел опишем логический массив, в котором i-ый элемент равен 1, если число содержит цифру i.

    Два числа являются дружными тогда и только тогда, когда соответствующие им массивы поэлементно равны.

    Ниже показаны функции для определения логических массивов и их сравнения.

    void getDigits(int n, bool dn[]) { while (n) { dn[n % 10] = true; n /= 10; } }   bool compareDigits(bool da[], bool db[]) { for (int i = 0; i < 10; i++) if (da[i] != db[i]) return false; return true; }

    Основная функция может иметь следующий вид:

    int main() { int testsCnt, a, b; bool da[10], db[10]; scanf(«%d», &testsCnt); for (int i = 0; i < testsCnt; i++) { scanf(«%d%d», &a, &b); getDigits(a, da); getDigits(b, db); printf(«%s\n», compareDigits(da, db) ? «YES» : «NO»); } return 0; }

    Когда решение составлено, его следует отправить на проверку. Для этого следует выбрать текстовый файл с кодом решения (не исполняемый файл!) в форме «Сдать задачу» и нажать кнопку «Отправить» (рис. 1). Следует иметь в виду, что система ACMP определяет компилятор, требуемый для решения, по расширению предоставленного файла ( и для C/C++, и для Pascal, для Java).

    После отправки решения становится доступен результат его проверки (рис. 2). В нашем случае получен вердикт «Compilation Error» (ошибка компиляции). При данном ответе системы автор может просмотреть сообщения компилятора, перейдя по ссылке с ID решения. В показанном примере (рис. 3) компилятор сигнализирует о недоступности функций и , так как не подключен заголовочный файл .

    Добавим в решение строку

    #include <stdio.h>

    и отправим его заново (рис. 4).

    Теперь система выдаёт ответ «Time Limit Exceeded» (превышен предел времени выполнения) на первом тесте. Причиной данной ошибки является то, что система ACMP предполагает файловый ввод-вывод для задач, тогда как решение использует стандартную настройку (ввод с клавиатуры, вывод на монитор); при этом программа всё отведённое время находится в состоянии ожидания ввода, а затем снимается проверяющей системой как медленно работающая.

    Примеры простого перенаправления ввода-вывода для используемых в системе языков программирования приведены на странице Новичкам.Используем вариант для C++: добавим в функцию строки

    freopen(«input.txt», «r», stdin); freopen(«output.txt», «w», stdout);

    Повторная отправка решения (рис. 5) приводит к вердикту «Wrong Answer» (неверный ответ). В большинстве задач (но не во всех) начальные тесты совпадают с тестами из условия. Трассировка решения на втором тесте позволяет выяснить причину ошибки: входные данные могут содержать несколько тестовых случаев, и перед рассмотрением каждого из них логические массивы требуется очищать.

    Добавим очистку в цикл в основной функции:

    for (int j = 0; j < 10; j++) da[j] = db[j] = false;

    С данной модификацией решение проходит все тесты (рис. 6, 7).

    Добавить комментарий

    Закрыть меню