Хотите дальше читать devby? 📝
Support us

Репортаж с открытого чемпионата БГУИР по программированию. Первое место у школьников из «Клуба юных пожарных Мозыря»

Оставить комментарий
Репортаж с открытого чемпионата БГУИР по программированию. Первое место у школьников из «Клуба юных пожарных Мозыря»

Чемпионат БГУИР 18 апреля в БГУИР прошел финал Открытого чемпионата по программированию среди студенческих и школьных команд. Впервые это соревнование было организовано в 2006 году в формате «только для своих», то есть для студентов университета. Однако со временем был принят открытый формат мероприятия, чтобы в соревновании смогли принять участие все желающие и в первую очередь школьники. Некоторые ошибочно полагают, что у школьников против студентов нет шансов. Хотя бы в силу возраста и опыта. Но, как говорится, раз в год и палка стреляет. Всего за первое место боролись 34 команды, а еще 5 команд выступало вне конкурса. С прошлого года возросло как общее количество участников (91 команда в 2012 против 77 команд в 2011), так и количество команд из средних учебных заведений. На финальном этапе таких команд оказалось целых четырнадцать. И впервые в истории конкурса на нем были представлены команды из всех областей Беларуси.

За кулисами чемпионата

Разобраться в правилах чемпионата нашему корреспонденту помог Алексей Валентинович Борунов (думаю, вы легко поймёте, где он на фото). Он является тренером трёх команд из «Клуба юных пожарников» г. Мозыря. Примечательно, что все его подопечные совсем молоды и еще не поступили в высшие учебные заведения. Традиционно чемпионат БГУИР проводится по правилам ACM-олимпиад и сфокусирован в первую очередь на алгоритмизации. Согласно международным правилам участникам предлагается от 8 до 12 заданий, которые следует решить за 5 часов. Все задания сформулированы на английском языке, поэтому допускается использование бумажных словарей. На международном уровне, кстати, словари разрешено использовать всем, для кого условия заданий написаны не на родном языке. Иногда допускается использование заранее подготовленных шаблонов и кода, но только с разрешения организаторов. В то же время использование любой электроники категорически запрещено. Решение задач можно представлять на одном из трёх языков: C, Java или Pascal. При сдаче задание отправляется в тестирующую систему, в которой прогоняется через ряд тестов, специально разработанных, чтобы учесть самые разные параметры (время работы алгоритма, использование памяти и т. п.). Полностью решённой задача признаётся, если пройдены все тесты. В противном случае засчитывается неверная попытка, за которую в дальнейшем будет начислен штраф. Если задача так и не была успешно сдана, штрафные минуты за попытки не учитываются. Все успехи и неудачи команд сводятся в единую таблицу, с которой могут ознакомиться как участники, так и тренеры. Эта таблица, по словам Алексея Валентиновича, играет очень важную стратегическую роль для всех. Но сначала разберёмся с обозначениями. Таблица автоматически ранжирует команды от первого к последнему месту, основываясь на количестве решённых задач и штрафных минутах. Стоит отметить, что приоритет остаётся за количеством правильно решённых задач. Во второй колонке в определённом формате указываются названия команд и фамилии участников. Далее под буквами идут номера задач (в этом году их 9), затем количество решённых (Total) и штрафные минуты (Penalty). В ячейках под буквами задач для каждой команды отображается количество успешных или неудачных попыток сдачи решения. Так, если в ячейке стоит «+», значит, команда успешно сдала задание с первого раза и в штраф записывается только количество минут, прошедшее с момента начала чемпионата до момента отправки кода в тестирующую систему. Если же в ячейке стоит «-4», это значит, что задачу уже попытались сдать 4 раза, и все 4 раза решение оказалось неверным. В случае, когда в ячейке положительное число, например «+2», это значит, что было две неудачных попытки сдачи, но команда исправила ошибки и на третий раз всё получилось. Стоит отметить, что в случае успеха каждая неудачная попытка — это плюс 20 минут к штрафному времени.

Стратегии победы

Участникам важно уметь себя контролировать и не входить в азарт. Так, если задача не прошла тесты, следует заставить себя проверить на ошибки весь код. Не стоит, отыскав первую ошибку, исправлять ее и тут же снова отправлять решенную задачу на проверку. Стратегии для соревнований бывают самыми разными. Алексей Валентинович поделился некоторыми из них, рассчитанными в первую очередь на «новичков». Команда обычно состоит из трёх человек, однако компьютер даётся только один. Поэтому важно не только распределить роли, но и эффективно расходовать время. В первую очередь, получив на руки условия задач, необходимо прочитать их все. Часто новички ошибочно поступают так: дочитывают до первой задачи, которую, как им кажется, они могут решить, бросают читать и бегут «кодить». Ни к чему, кроме как к потере времени, подобная стратегия не приводит. «Как уже было сказано, — напоминает Алексей Валентинович, — вначале следует прочитать тексты всех задач». Затем, если кто-либо из команды на 100% уверен, что знает решение какой-нибудь из них, он садится писать решение за компьютер. Остальные в это время продолжают работать, обдумывать идеи решения заданий, а также записывать код, но только на бумаге или мысленно. Также нельзя позволять себе увлечься одной задачей и потратить на неё слишком много времени. В командах практикуется смена «кодера» раз в 30 минут. То есть, если участнику не удалось сдать задание за договорённое время, он распечатывает код на бумаге и идёт работать в «оффлайн», уступая место за машиной товарищу по команде. Последний час соревнования — особое время. За час до окончания происходит «заморозка результатов», то есть интерактивная таблица, доступная всем, перестаёт обновляться. С одной стороны это сохраняет интригу, а с другой стороны позволяет командам собраться для финального рывка. К примеру, если за 30 минут до завершения соревнования команда видит, что никак не приблизится к лидеру, она может «сойти с дистанции» с мыслью: «Да какая уже разница?». В тренерском штабе в последний час работа, можно сказать, только начинается. Сводная таблица — это святой грааль аналитической информации. Имея на руках тексты заданий, можно проанализировать, в каких областях команда сильна, а в каких нет, какое время и сколько попыток было потрачено на каждую задачу, каков уровень других команд и так далее. Всё это понадобится для дальнейшего разбора результатов вместе с командой. Возможно, в следующий раз стоит поменяться ролями или выбрать другого капитана? А тем временем в команде в «час заморозки» обычно все 3 человека переключаются на работу над одной задачей. У каждого человека здесь своя роль: генератор идей, генератор тестов и кодировщик. Напомним, что это универсальная стратегия для новичков, в которой возможны значительные изменения. Тем не менее, на роль кодировщика выбирается человек, способный быстро и вне зависимости от критичности момента без ошибок набирать код. В задачу «генератора тестов» входит придумывание и прогон в уме всевозможных тестов для написанной программы, чтобы тем самым сократить количество потенциальных неудачных попыток сдачи кода тестирующей системе. И наконец, «генератор идей» отвечает за поиск и изобретения решений для задачи. Алексей Валентинович поделился одной интересной стратегией, которая часто, несмотря на спешку, применяется в последний час соревнований. Она называется «стратегия плюшевого мишки». Её суть заключается в том, что один человек из команды должен просто сесть и выслушать «генератора идей». «Генератор», проговаривая идею вслух, тем самым может на ходу придумать более рациональное решение или обнаружить ошибки в своих предположениях. Как показывает практика, эта стратегия, несмотря на свою простоту, оказывается весьма действенной.

И о результатах

Итак, открытый чемпионат БГУИР по программированию 2012 завершен. В этом году мероприятие привлекло ещё больше участников, спонсоров и обозревателей. Памятные призы от спонсоров — футболки, дипломы и сертификаты на приобретение книг — стали приятным бонусом, хотя главная награда — это, безусловно, удовольствие от участия. А вот и команда победителей. В этом году первое место заняли школьники из «Клуба юных пожарных г. Мозыря», оставив позади традиционных лидеров подобных мероприятий, команды БГУ и БГУИР. Тем не менее, в скором времени именно эти два ВУЗа представят нашу страну на финальном этапе мирового первенства, который пройдёт в Варшаве. Ребята прошли сложную систему отборочных туров, в которой из 7 000 команд (от 2 000 университетов и других организаций) до финала дошли лишь 110 лучших. Группа компаний IBA, выступавшая генеральным спонсором открытого чемпионата БГУИР, решила поддержать наших участников, пожелав им удачи и подарив путёвку на финал в Варшаву. Что ж, пожелаем удачи и мы. Болеем за наших!

Помогаете devby = помогаете ИТ-комьюнити.

Засапортить сейчас.

Читайте также
Проходные баллы на бюджет в БГУИР в 2022: самый высокий — 374, самый низкий — 272
Проходные баллы на бюджет в БГУИР в 2022: самый высокий — 374, самый низкий — 272
Проходные баллы на бюджет в БГУИР в 2022: самый высокий — 374, самый низкий — 272
1 комментарий
Плюсы и минусы БГУИР по версии студентов и выпускников. Собрали мнения
Плюсы и минусы БГУИР по версии студентов и выпускников. Собрали мнения
Плюсы и минусы БГУИР по версии студентов и выпускников. Собрали мнения
В беларусских вузах завершилась приёмная кампания. Спросили у студентов и выпускников БГУИР, почему они выбрали именно этот университет, что думают об уровне обучения и как изменилась атмосфера в вузе за последние два года. Публикуем 7 мнений.
17 комментариев
Как набирали платников на ИТ-специальности БГУИР, БГУ, БНТУ. И где недобор
Как набирали платников на ИТ-специальности БГУИР, БГУ, БНТУ. И где недобор
Как набирали платников на ИТ-специальности БГУИР, БГУ, БНТУ. И где недобор
2 комментария
В БГУИР упал конкурс на бюджет. Желающих на четверть меньше, чем год назад
В БГУИР упал конкурс на бюджет. Желающих на четверть меньше, чем год назад
В БГУИР упал конкурс на бюджет. Желающих на четверть меньше, чем год назад
15 комментариев

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.