- Институт информационных технологий, точных и естественных наук
- Направления подготовки
- Дирекция
- Кафедра программирования и автоматизации бизнес-процессов
- Кафедра физико-математического и информационно-технологического образования
- Кафедра биологии и географии с методикой преподавания
- Кафедра профессионально-технологического образования
Задать вопрос - Расписание
- Расписание промежуточной аттестации
Вернуться - На главную
- Главная
- Институт информационных технологий, точных и естественных наук
- Результаты очной олимпиады по программированию среди студентов, проходившей в ШГПИ 15-16 марта 2012 года в рамках ежегодного студенческого форума «Актуальные проблемы прикладной информатики, математики и методики обучения информатике и математике» .
Результаты очной олимпиады по программированию среди студентов, проходившей в ШГПИ 15-16 марта студенческого форума «Актуальные проблемы прикладной информатики, математики и методики обучения информатике и математике» .
Анонc студенческого форума | Обсуждение олимпиады
По результатам проверки решений задач призовые места были распределены следующим образом:
- 1 место. Кочарин Александр Евгеньевич (КГУ)
- 2 место. Бубнов Никита Александрович (КГУ)
- 3 место. Бельков Денис Михайлович (ШГПИ)
- 3 место. Городецкий Сергей Владимирович (ЧГПУ)
- Искомая строка не превышает длиной 10000 символов.
- Максимальная длина строки текста 1000 символов.
- Искомая строка и текст могут состоять из пробелов, знаков препинания, символов латиницы.
- В тексте могут быть пустые строки.
- Объем исходного текста - не ограничен
- Максимальное время работы программы - 1c на обработку каждых 10000 совпадений, 1с на обработку каждых 50Мб исходного файла
- Отрезки располагаются в квадрате 10 на 10. Левый нижний угол квадрата расположен в начале координат.
- Положение отрезка определяется четырьмя координатами его концов: x1,y1,x2,y2. Примем, что координаты концов могут быть только целыми числами, при этом координаты точек пересечения в общем случае таковыми не являются.
- Два отрезка, расположенных на одной линии, в независимости от того, перекрываются они или нет, считаются различными, даже если один из отрезков полностью помещается в другом. В частности два и более отрезка могут совпадать – они все равно должны считаться разными.
- Максимальное количество пересечений одного отрезка с другими равно 3.
- Пункт 4 работает и в том случае, если отрезки перекрываются.
- Максимальное количество отрезков - 1000.
- Максимальное время работы программы - 1с.
- Входной файл состоит из строк. Каждая строка содержит координаты одного отрезка, отделенные друг от друга произвольным количеством пробелов. В начале и конце строки также может стоять произвольное количество пробелов.
- Принято следующее правило: в начале записываются координаты левого конца отрезка, потом правого (x2>x1). В случае, если x1==x2 – порядок записи не важен.
- Последние две строки содержат координаты отрезка A и отрезка B в том же формате, что и координаты остальных. Координаты отрезков A и B также содержаться и в общем списке (первые n строк). Другими словами, если количество отрезков равно n, то количество значимых строк в файле input.txt равно n+2.
- Файл output.txt содержит информацию о кратчайшем пути от отрезка A до отрезка B.
- Первая строка содержит число прошедших отрезков, включая первый и последний (N).
- Следующие N строк файла содержат информацию об отрезках, которые надо пройти – координаты концов отрезка в том же формате, что и в исходном файле (input.txt). Координаты отрезков A и B включаются в этот список.
- Далее идут N-1 строк, содержащих координаты точек пересечения отрезков, через которые проходит искомый путь (два вещественных числа через пробелы) – по одной точке пересечения на строку. Как легко догадаться, количество точек пересечения должно быть на единицу меньше (N-1), чем количество пройденных отрезков.
- Программа выдает вместо результата сообщение, если путь, по какой либо причине не может быть найден.
- Если путь между отрезками не найден (нет последовательности шагов, чтобы пройти от одного отрезка к другому), то программа выдает сообщение No pass.
- Специальный случай, когда входной файл состоит из трех одинаковых строк (три одинаковых отрезка), также приводит к сообщению No pass.
- В случае, если структура файла не соответствует тому, что было описано выше, программа выдает сообщение Bad data. Перечислим ситуации, на которые программа должна среагировать именно так:
- Координаты отрезков не попадают в интервал от 0 до 9.
- Не удалось считать координаты отрезков – не хватило данных (количество чисел не делится на 4, в строке посторонние символы).
- Не выполняется условие x2>=x1.
- Количество строк меньше 3.
- Отрезки A или B отсутствуют в списке.
- Если количество пересечений для одного отрезка превосходит 3, то программа выдает сообщение Too many intersections.
- Единственное допустимое действие - обмен местами двух рядом стоящих солдат, если они стоят не по росту.
- На каждом шаге разрешено выполнять несколько одновременных обменов.
- Пересечение пар при одновременном обмене - недопустимо.
- Максимальное количество одновременных обменов - ограничено (см. input.txt).
- Количество шагов должно быть минимальным при использовании максимального количества одновременных обменов. Исключением является ситуация, когда вычисленное общее количество обменов не кратно максимальному количеству одновременных обменов. Например, при вычисленном общем количестве обменов=20 и максимальном количестве одновременных обменов=3, допускается формирование 6 шагов по 3 одновременных обмена и 1 шага по 2 одновременных обмена.
- Максимальное время работы программы - 1 секунда.
Поздравляем победителей олимпиады!
Вручение победителям почетных грамот и призов состоится 16 марта 2012 года на факультете информатики, математики и физики ШГПИ, при подведении итогов студенческого форума.
Задания для студенческой олимпиады по программированию.
ШГПИ, 15-16 марта 2012 г.
Вниманию участников предлагаются 3 задачи. За полное решение всех задач участник может набрать 23 балла (5+8+10). Жюри будет проверять решения участников на заранее подготовленных тестах, которые по окончании проверки решений будут выложены на веб-форуме ШГПИ, в разделе Обсуждение олимпиады, а также с помощью программы-тестера (задача №3).
1. Поиск строки (5 баллов)Автор: Пирогов В.Ю. ЗаданиеДана строка и текст. Найти все вхождения строки в этот текст. Поиск осуществляется с пропуском конца строки, как если бы весь текст представлял собой одну большую строку. Например, для строки aaa в текстеabca aaab caavимеется два вхождения. ОграниченияФорматы данных
Входной файл input.txt.
Выходной файл output.txt. Примеры
|
2. Путешествие муравьишки (8 баллов)Автор: Пирогов В.Ю. ФабулаВ детстве я любил наблюдать за муравьями… Осень, дождь. Маленький муравьишка пробирается в свой муравейник. Перед ним большая лужа. От ветра в нее нападали ветки деревьев. Перебираясь с ветки на ветку, муравей преодолевает препятствие и до темноты успевает попасть в свой дом.ЗаданиеПредставим себе, что на плоскости случайным образом проведено множество отрезков. Некоторые отрезки пересекаются, образуя запутанный лабиринт. Вам, необходимо двигаясь по этим отрезкам, переходя от одного отрезка к другому, по точкам пересечения найти наиболее короткий путь (один из наиболее коротких) от отрезка A к отрезку B. Каждый шаг – это переход от одного отрезка к другому.ОграниченияФорматы данныхСтруктура входного файла (input.txt) Сообщения программыПримеры
|
3. По росту становись! (10 баллов)Автор: Слинкин Д.А. ФабулаПростая задача - построить по росту отделение. Каждый знает свое место, быстро и четко его занимает по команде "Отделение, в одну шеренгу — СТАНОВИСЬ!".... Для сержанта учебки это не более чем сладкий сон. Ведь строить ему - не солдат, а толпу новобранцев ... ЗаданиеЗадача заключается в перестроении отделения по росту. Первым - самый высокий, последним - самый низкий. Среди множества вариантов решения следует выбрать один из подчиняющихся требованиям, изложенным ниже.ТребованияФорматы данных
Структура входного файла (input.txt)
Структура выходного файла (output.txt) Примеры
|