Задачи олимпиады по программированию

Правила проведения олимпиады, условия задач и комментарии к ним, результаты олимпиады и апелляции.
Руководители: к.ф-м.н., профессор Пирогов Владислав Юрьевич, ник - Vladislav_133; к.п.н, доцент Слинкин Дмитрий Анатольевич, ник - xdsl

Re: Задачи олимпиады по программированию

Сообщение Vladislav_133 27 мар 2015, 21:53

Подождем, пока Дм. Анатольевич солвер изменит
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Задачи олимпиады по программированию

Сообщение Vladislav_133 27 мар 2015, 22:06

Меня порадовало, что много любителей C#
Как шутят некоторые программисты:

- Why do some people still use Java?
- Cause they have not seen sharp.

:)
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Задачи олимпиады по программированию

Сообщение xdsl 28 мар 2015, 07:07

Вчера вечером был вне интернета, поэтому задержки с солвером. Через пару часов внесу все изменения.
xdsl
 
Сообщения: 1236
Зарегистрирован: 09 дек 2008, 05:16
Откуда: ВЦ ШГПИ
Полное имя: Слинкин Д.А.

Re: Задачи олимпиады по программированию

Сообщение hardcore_test 28 мар 2015, 08:58

Спасибо за мышку, теперь я спокоен
hardcore_test
 
Сообщения: 102
Зарегистрирован: 06 мар 2015, 16:10
Полное имя: Владислав Андреевич Быков

Re: Задачи олимпиады по программированию

Сообщение xdsl 28 мар 2015, 09:05

В solver правки внесены, можете пробовать.
Hidro писал(а):Почему LiberoOffice открывается как текст XML?
Предполагаю, что вопрос был "Почему примеры input.txt из задачи 'Будни IT-отдела' открываются в Libreoffice как текст XML?"
Если вопрос в этом, то потому, что: 1) в fods-файл добавлена первая строка, которая, по условию задачи, должна быть проанализирована программой; 2) файл имеет расширение txt, а не fods.
Решение проблемы: 1) удалить первую строку из input.txt, 2) переименовать полученный файл в input.fods, 3) та-дам! все открывается и загружается!

Chess писал(а):Дмитрий Анатольевич, мне кажется, что для участников последние задачи
были пугающе громоздкими и непонятными на этапе прочтения условия
(боюсь, многие просто условие не "осознали"):
- длинные формулировки;
- ссылка на стандарт, который нужно изучить (в первой задаче);
- пример блока данных размером почти со страницу (во второй задаче).

В итоге, в условиях ограниченного времени, участник читает условие и думает:
"Сейчас два часа буду только доку читать, да пока вникну, потом парсер писать -
неизвестно сколько это времени займёт, а что в итоге удастся решить - нет гарантии".
В итоге проще потратить время на другие задачи.

Возможно, подобные задачи "с практическим уклоном" лучше бы воспринимались в рамках специализированного
конкурса (как "проблемные ситуации/задания").
Например, каждую разбить на подзадачи (с баллами за каждый "уровень") и на каждую задачу дать сутки.


Учту на будущее. Однако в свое оправдание хочу сказать:
1. 800 страниц стандарта изучать не надо, можно было взглянуть в текст примеров и все должно, по идее, стать ясно. Тем более, было сказано, что структурных и стилистических изменений в таблице не производится, ее ячейки просто заполняются числовыми или строковыми значениями. Т.е. можно было по указанным правилам сформировать в LibreOffice таблицу, сохранить в формате fods и получить еще один пример для обработки.
2. Вы ошибаетесь с примером блока данных со страницу, страниц там очумелое количество ;). В исходном файле planetinfo.plist таких блоков 2048, а объем файла - 2.5 мегабайта. Файл выдернут как есть из исходников Oolite, лежит в архиве вместе с примерами и в неизменном виде прикрепляется ко всем входным данным. И ничего в таких объемах страшного нет, если прочитать одну выделенную в условии фразу:
Данные о Вселенной носят статичный характер и не будут изменяться от теста к тесту

3. Понять, что мои задачи не страшные, а вполне даже решаемые, можно было при внимательном изучении их условий. Однако изучить условия оказалось проще у первых пяти задач, тут я студентов вполне понимаю, они короче и яснее. И здесь уже, думаю, наша с В.Ю. ошибка: семь задач - слишком много на сутки олимпиады, тем более - в будний день.
xdsl
 
Сообщения: 1236
Зарегистрирован: 09 дек 2008, 05:16
Откуда: ВЦ ШГПИ
Полное имя: Слинкин Д.А.

Re: Задачи олимпиады по программированию

Сообщение denis_m 28 мар 2015, 10:29

я попробовал решить задачу про IT отдел. но максимум, что смог там сделать - изменение содержимого ячейки, в которой уже что-то есть. не получилось решить задачу потому что не смог придумать обработку пропуска пустых столбцов или ячеек. ну точнее придумывал, но на месте одной проблемы возникало еще 2
Аватара пользователя
denis_m
Elite
 
Сообщения: 9
Зарегистрирован: 25 мар 2015, 13:38
Полное имя: Мамаев Денис Алексеевич

Re: Задачи олимпиады по программированию

Сообщение Vladislav_133 28 мар 2015, 10:47

Насчет мышки уловили, что при нечетном значении считать ничего не надо, поскольку мышка никогда не придет назад?
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Задачи олимпиады по программированию

Сообщение hardcore_test 28 мар 2015, 11:20

Да, но влияло ли это на оценку задачи. Т е если алгоритм поиска всевозможных путей верен, то можно ли было не проверять четность?
hardcore_test
 
Сообщения: 102
Зарегистрирован: 06 мар 2015, 16:10
Полное имя: Владислав Андреевич Быков

Re: Задачи олимпиады по программированию

Сообщение xdsl 28 мар 2015, 11:36

denis_m писал(а):я попробовал решить задачу про IT отдел. но максимум, что смог там сделать - изменение содержимого ячейки, в которой уже что-то есть. не получилось решить задачу потому что не смог придумать обработку пропуска пустых столбцов или ячеек. ну точнее придумывал, но на месте одной проблемы возникало еще 2

Подозреваю, вы говорите про обработку повторяющихся столбцов и строк. Ее можно было сделать в процессе чтения. Т.е. алгоритм мог быть такой:
1. Читаем содержимое файла, обрабатываем, выстраиваем в памяти двумерный массив.
2. Выполняем обработку двумерного массива в памяти.
3. Записываем результат в файл, преобразуя в xml-формат.
Пункт первый - самый сложный. Остальные - дело техники.
При выполнении пункта 3 никто не заставляет генерировать повторяющиеся столбцы и строки.
xdsl
 
Сообщения: 1236
Зарегистрирован: 09 дек 2008, 05:16
Откуда: ВЦ ШГПИ
Полное имя: Слинкин Д.А.

Re: Задачи олимпиады по программированию

Сообщение zoomer 28 мар 2015, 12:22

hardcore_test писал(а):Да, но влияло ли это на оценку задачи. Т е если алгоритм поиска всевозможных путей верен, то можно ли было не проверять четность?

А у вас программа без этой проверки? Сколько времени работает для n=7?
Я имею ввиду, что если будет тест для n=7 (а он скорее всего будет) то тогда эта проверка важна… в моем случае: для нечетных чисел я просто выдаю 0. Также эта проверка позволяет "перекрыть" тесты где n = 7, 9, 11, 13 итд если они будут..

эти тесты должны(могут) быть, так как на них есть намек в условии
Также вам предстоит выяснить некоторую интересную закономерность, позволяющую в некоторых случаях дать уверенный ответ о количестве маршрутов.
zoomer
 
Сообщения: 9
Зарегистрирован: 25 фев 2012, 21:45
Полное имя: zoomer

Re: Задачи олимпиады по программированию

Сообщение hardcore_test 28 мар 2015, 12:25

Работает очень долго ( для 8 больше 10 минут), поэтому я 2 или 3 раза спрашивал про ограничения времени. Но проверку всё равно добавил, хотя и говорили, что время не влияет
hardcore_test
 
Сообщения: 102
Зарегистрирован: 06 мар 2015, 16:10
Полное имя: Владислав Андреевич Быков

Re: Задачи олимпиады по программированию

Сообщение Vladislav_133 28 мар 2015, 12:31

Поскольку проверять буду, действительно до 7, то при 7 задержка может быть большая.
Но это не снизит количество баллов.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Задачи олимпиады по программированию

Сообщение Vladislav_133 28 мар 2015, 17:53

Несколько слов о том, как проверяются решения.
Во всех случаях, кроме "мыши" есть 10 тестов.
Я потом их опубликую, чтобы вы могли проверить сами и при необходимости оспорить - я могу ошибиться.
Проверяю по тестам и вычисляю результат по формуле n*m/10,
где n - максимальное количество очков, m - количество пройденных тестов.
При этом приходится заглядывать и в текст программы. Иногда, например, участник,
может использовать входной файл с иным, неужели указано в условии, именем.
Иногда вываливаются довольно странные ошибки и волей неволей приходится текст анализировать.
Ну и вообще интересен сам текст программы. Некоторые пишут очень красиво.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Задачи олимпиады по программированию

Сообщение Vladislav_133 28 мар 2015, 20:41

Закончил проверять первую задачу.
Впечатления. Ну во-первых два человека хотели меня уморить. А ведь я их даже не знаю. :)
Они написали программы в диалоговом режиме. Представляете мои муки?
Я же все тесты должен был руками вводить.
Второе. Задача то была самой легкой. А на ней споткнулись, как я понял, даже зубры ;) .
Только программы 5 человек полностью прошли тесты. Т.е. эти люди получили по одному очку.
У остальных по-разному: 0,5 0,7 и т.п.
Вот такие дела. Завтра постараюсь сделать большую часть проверки.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Задачи олимпиады по программированию

Сообщение hardcore_test 29 мар 2015, 08:40

Соловер первая задача при k=0 нет ответа
hardcore_test
 
Сообщения: 102
Зарегистрирован: 06 мар 2015, 16:10
Полное имя: Владислав Андреевич Быков

Re: Задачи олимпиады по программированию

Сообщение Vladislav_133 29 мар 2015, 11:13

Да, там k=0 исключается. В тестах тоже этого нет.
Но для алгоритма это несущественно.
Но задача уже проверена. Завтра я результаты выложу.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Задачи олимпиады по программированию

Сообщение Vladislav_133 29 мар 2015, 12:22

Задачу про "хитрую мышь" решили три человека.
Собственное три и решало, четвертый сделал очень слабую попытку.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Задачи олимпиады по программированию

Сообщение Vladislav_133 29 мар 2015, 13:12

Лишний раз убеждаешься, что такие программы надо писать на компилируемых языках.
Во второй задаче два теста с большими файлами. Кое у кого программа с этим не справилась.
Похоже просто из-за медленности алгоритма и самого скриптового языка.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Задачи олимпиады по программированию

Сообщение Vladislav_133 29 мар 2015, 19:03

Ну вот осталась только одна задача о бильярде.
Обозначилась тройка лидеров. Скорее всего завтра начнется борьба между ними.
Если только не окажется, что кто-то из них четвертую задачу не решал. Тогда может вырваться вперед
темная лошадка.
Сегодня один из участников опять предложил вводить числа в диалоге. Ну тут уж я возмутился и не стал этого делать: вводить вручную 10000 чисел - увольте.
Последний раз редактировалось Vladislav_133 29 мар 2015, 19:43, всего редактировалось 1 раз.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Задачи олимпиады по программированию

Сообщение hardcore_test 29 мар 2015, 19:20

Как все интригует, жаль, что 4 я так и не решил :(
hardcore_test
 
Сообщения: 102
Зарегистрирован: 06 мар 2015, 16:10
Полное имя: Владислав Андреевич Быков

Re: Задачи олимпиады по программированию

Сообщение Vladislav_133 29 мар 2015, 19:40

Здесь вершатся судьбы олимпиады
Изображение
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Задачи олимпиады по программированию

Сообщение hardcore_test 29 мар 2015, 19:47

Не хватает только кота
hardcore_test
 
Сообщения: 102
Зарегистрирован: 06 мар 2015, 16:10
Полное имя: Владислав Андреевич Быков

Re: Задачи олимпиады по программированию

Сообщение Vladislav_133 29 мар 2015, 19:57

Один кот как раз слева за занавеской
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Задачи олимпиады по программированию

Сообщение Vladislav_133 29 мар 2015, 21:30

В группу лидеров добавился еще один. Не заметил его решение с 5-й задачей.
Последний раз редактировалось Vladislav_133 29 мар 2015, 21:46, всего редактировалось 1 раз.
Аватара пользователя
Vladislav_133
Elite
 
Сообщения: 1386
Зарегистрирован: 13 дек 2008, 18:08
Полное имя: П.В.Ю.

Re: Задачи олимпиады по программированию

Сообщение hardcore_test 29 мар 2015, 21:35

8? их же всего 7
hardcore_test
 
Сообщения: 102
Зарегистрирован: 06 мар 2015, 16:10
Полное имя: Владислав Андреевич Быков

Пред.След.

Вернуться в Олимпиада по программированию

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron