Подборка задач по спортивному программированию

Содержание:

Для школьников

IOI

Что: ежегодная международная олимпиада по информатике среди школьников.

Среднее число участников: более 300 школьников из 87 стран.

Условия: возраст не старше 20 лет и отсутствие высшего образования. На момент участия в конкурсе программист не должен числиться в вузе. Тренировочные сборы перед IOI проходят дважды в год, с 2018 — на базе МФТИ. В качестве подготовки школьники участвуют в международных соревнованиях, например, ездят на турниры в другие страны.

Задачи: в течение двух дней нужно решить и запрограммировать несколько алгоритмических задач, составленных опытными разработчиками. Основные языки — C++ и Java. В отличие от соревнований ICPC, возможны частичные баллы — если задача проходит некоторый набор тестов, удовлетворяющий более слабым ограничениям, участник получает частичный балл.

Зачем участвовать: участие в крупнейшей школьной олимпиаде по информатике считается бонусом при поступлении в университет. В России сборную формируют по итогам Всероссийской олимпиады по информатике и другим заслугам, призёры которой автоматически попадают в вузы без экзаменов. Более того, они могут претендовать на президентскую стипендию.

Интересный факт: обычно не более 50% участников получают медали, а золото достается лишь 1/12 части школьников. В среднем соотношение золота, серебра, бронзы и отсутствия медалей составляет примерно 1:2:3:6

ВКОШП

Что: всероссийская командная олимпиада школьников по программированию.

Среднее число участников: более 300 команд по три человека в каждой.

Условия: участвовать могут только школьники, которые предварительно прошли отборочный тур. В остальном это командное соревнование по тем же правилам, что и ICPC.

Задачи: в течение одного пятичасового компьютерного тура нужно решить несколько задач. Используются языки программирования Pascal, C++14, C#, Java, Python, D и Kotlin.

Зачем участвовать: участие в ВКОШП — это первый опыт сопоставления своих навыков с навыками других начинающих программистов. При этом даже не придётся выезжать из страны.

Интересный факт: в 2019 году отборочный тур на ВКОШП в Москве школьники писали одновременно и на тех же задачах, что и столичные студенты. Тогда как раз проходила первая ступень отбора на ICPC — соревнование Moscow Programming Contest. Всего в нём поучаствовали 2284 человека, мероприятие зафиксировали в Реестре рекордов России как самое массовое соревнование по программированию в стране.

Технокубок

Что: ежегодная олимпиада по программированию для учащихся 8–11 классов, организованная МФТИ, МГТУ им. Н.Э. Баумана и компанией Mail.ru Group.

Среднее число участников: 7 500 человек, из которых более 550 доходят до финала.

Условия: допускаются только школьники. Для попадания в очный финал нужно пройти отборочный тур онлайн. Тур проходит по правилам раундов Codeforces.

Задачи: участникам нужно решить несколько алгоритмических задач. Основные языки программирования — Pascal, C#, C++, Haskell, Go, Java, Python, D, Kotlin, PHP, Perl, Ruby и Scala.

Зачем участвовать: олимпиада входит в перечень РСОШ и относится к соревнованиям первого уровня. Это позволяет победителям и призерам поступать в российские вузы без экзаменов. Участники «Технокубка» также получают привилегии при поступлении на образовательные проекты Mail.ru Group. А ещё можно выиграть iPad или AirPods.

Интересный факт: организаторы «Технокубка» креативно подходят к написанию задач. Например предлагают подсчитать разбросанные по комнате носки или помочь клонам выбраться из подземной лаборатории.

Как построить карьеру в этой области?

Спортивная карьера разработчика часто начинается со школьных олимпиад, следующий этап — студенческие чемпионаты и открытые первенства для программистов всех возрастов. Расти можно бесконечно. Пример тому — звезда спортивного программирования Геннадий Короткевич, аспирант ИТМО, который к 26 годам выиграл все крупнейшие соревнования, начиная со студенческого чемпионата мира ICPC и заканчивая кубками и . Он до сих пор иногда участвует в турнирах и стабильно удерживает место в тройке рейтинга Codeforces — это примерно то же, что список Forbes, только при оценке учитывают не капитал, а победы программиста.

Почему это важно?

«На рынке труда все больше ценится умение работать в команде, продуктивно взаимодействуя с коллегами. Командная олимпиада поможет сформировать у школьников навыки совместной работы для достижения результата. Эти навыки понадобятся им не только во время обучения в университете, но и повседневной работе», — поясняет директор по профессиональной ориентации и работой с одаренными учащимися ВШЭ Тамара Протасевич.

«Мы предложили провести командные соревнования по программированию, потому что в этой области такой формат уже устоялся, есть опыт их организации и для студентов, и для школьников, — рассказывает директор Центра студенческих олимпиад факультета компьютерных наук ВШЭ Михаил Густокашин. — Время одиночек в программировании прошло — любой мало-мальски сложный проект разрабатывается и поддерживается группами разработчиков. Так что опыт командной работы будет полезен школьникам для глубокого понимания процессов, происходящих в нашей сфере».

Спортивное программирование: «за» и «против»

Давай я попробую задать тебе глупый вопрос :). Почему нужно заниматься спортивным программированием, как ты считаешь?

Здесь все очень просто и похоже на любой другой спорт. Нужно заниматься этим, если тебе это нравится, если ты получаешь от этого удовольствие. Это не должно быть самоцелью. Нужно воспринимать спортивное программирование как способ хорошо провести время, познакомиться с интересными людьми и так далее.

А если попытаться придумать причину, почему не стоит тратить время на спортивное программирование?

Думаю, нужно отдавать себе отчет в том, что это — не главное в жизни. Иметь какие-то другие цели, помимо этой. Если что-то начинает занимать абсолютно всю твою жизнь, наверное, это уже повод задуматься о том, чтобы как минимум сделать перерыв.

Но что говорит практика, возможно ли, например, построить карьеру вокруг спортивного программирования?

В России есть несколько человек, которые профессионально занимаются подготовкой новых спортивных программистов, — тренеры. Андрей Станкевич, Миша Мирзаянов и другие. Все они преподают в университетах, но существенную часть своего рабочего времени тратят именно на подготовку студентов и школьников к соревнованиям по программированию. Для них это действительно работа и, можно сказать, карьера.

Ты сам не задумывался о подобном? Нигде не участвуешь в жюри или как составитель задач?

Я пробовал учить школьников в 57-й школе, где сам учился. Пробовал готовить команды к олимпиадам. Сейчас в Москве эта тема очень активна — есть команды у МГУ, Физтеха, Высшей школы экономики. Но с преподаванием у меня как-то не сложилось.

Что до контестов, прежде всего я помогаю делать задачи для Google Code Jam, для нашего соревнования. Плюс помогаю с полуфиналом ACM, который проходит в Санкт-Петербурге. Это отбор среди российских команд и команд бывшего СССР на финал.

Можно ли заработать на соревнованиях? Ведь за победу дают денежные призы.

Слишком маленькая вероятность. Один приз на десять тысяч участников?.. Я не назвал бы это заработком. Рассчитывать на это как на основной источник дохода… мне кажется, без шансов.

Но, как я уже сказал, есть много разных соревнований. Тот же Topcoder проводит соревнования по разработке программ. Допустим, нужно разработать компонент для программы, который делает то-то. По итогам оценивают, у кого что получилось, и лучшее используют — это решение покупает клиент и платит деньги тому, кто это решение сделал. Люди, которые занимаются этим full time, как я понимаю, зарабатывают довольно прилично.

Два этапа

Регистрация команд-участников начнется 25 февраля 2019 года. Зарегистрировавшись, команда получит онлайн доступ к задачам квалификационного этапа. Регистрация и возможность решить задачи квалификационного этапа будут закрыты 25 марта.

Чтобы пройти «квалификацию», команда должна решить две задачи из трех предложенных. Отборочным этот этап можно назвать с большой долей условности, поскольку он скорее представляет собой проверку базовых знаний программирования. При этом входной порог достаточно высок: хорошо программировать учат далеко не во всех школах.

Основной этап олимпиады пройдет 21 апреля 2019 года.

Участников очных состязаний готовы принять Москва (100 и более команд), Липецк и Самара (по 20-30 команд).

Город участия в основном этапе команда должна указать при регистрации.

На основном этапе каждая команда получит один компьютер, от 10 до 12 алгоритмических задач и 4 часа на их решение.

Решение задачи — это программа, составленная на одном из допустимых языков программирования. Через систему проведения состязаний команда отправляет решения на автоматическую проверку. Задача считается решенной, если программа проходит все тесты, разработанные жюри, причем результат проверки виден сразу, во время состязаний. Можно сделать несколько попыток, но за каждую попытку назначается  штрафное время. Чем больше решено задач и чем меньше штрафное время, тем выше рейтинг команды, тем ближе она к победе.

Имена победителей и призеров олимпиады будут объявлены в день проведения основного этапа сразу после его завершения.

Задача 5. Думский регламент

Input file: стандартный ввод
Output file: стандартный вывод
Time limit: 2 секунды
Memory limit: 512 мебибайт

В Тридевятом Царстве уже много лет как установилась конституционная монархия. В парламент Тридевятого царства входят 26 партий, обозначаемых строчными буквами английского алфавита от «a» до «z». Заседание парламента в соответствии с регламентом проходит по следующей схеме:

  • В начале заседания никаких законопроектов на повестке дня не стоит.
  • Любая партия (в том числе и та, которая внесла текущий законопроект) в любой момент времени может внести на обсуждение новый законопроект.
  • При вносе партией нового законопроекта обсуждение предыдущего приостанавливается и начинается обсуждение нового. После того, как парламентарии голосуют за новый законопроект, обсуждение законопроекта, прерванного им, продолжается.
  • Дискуссия по любому законопроекту обязана завершиться голосованием по этому законопроекту.
  • В конце заседания не должно остаться внесённых законопроектов, дискуссия по которым не завершена.

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

Входные данные

Первая строка входных данных содержит одно целое число K – количество строк в записи сессии (1 ≤ K ≤ 1000). Каждая строка соответствует одному из двух событий:

  • Add x – партия x внесла на голосование законопроект.
  • Vote x – прошло голосование за документ, внесённый партией x.

Здесь x – строчная буква английского алфавита от «a» до «z», задающая партию.

Вывод

Выведите «Yes», если существует корректный порядок проведения заседания, который мог привести к такой записи, и «No», если ни при каком корректном порядке проведения заседания данная запись появиться не могла.

Примеры

стандартный ввод стандартный вывод
4
Add a
Add b
Vote a
Vote b
No
8
Add z
Vote z
Add x
Add y
Add x
Vote x
Vote y
Vote x
Yes
1
Vote z
No

Обратим внимание на следующие факты:

  1. Пустая запись является корректной.
  2. Если две записи являются корректными, то их слияние тоже является корректным. Действительно, получится заседание, в котором к моменту окончания первой записи быди приняты все внесённые законопроекты, а затем заседание продолжилось внесением очередного законопроекта и также корректно завершилось.
  3. Если запись является корректной, её можно «вставить» внутрь обсуждения одного законопроекта и получить корректную запись. Это прямо следует из третьего пункта регламента.

Несложно показать, что любую запись можно получить из пустой с помощью действий 2 или 3. Действительно, пусть у нас есть некая корректная запись. Рассмотрим первый законопроект. Он или был поставлен на голосование последним (тогда был применено третье действие – вся оставшаяся запись была вставлена в обсуждение этого законопроекта), или был поставлен на голосование в какой-то момент раньше. Тогда к моменту после голосования по первому законопроекту все внесённые законопроекты уже «закрыты», то есть часть записи от внесения законопроекта на обсуждение до голосования представляет собой корректную запись. Аналогично оставшаяся часть представляет собой корректную запись (так как к моменту её начала никаких законопроектов на повестке дня не стоит, то стартовые условия выполняются, остальные же требования следуют из корректности первоначальной записи), и в этом случае было применено второе действие. В каждом случае получаем переход к записи меньшей длины; будем продолжать действовать таким образом, пока не дойдём до пустой записи.

Гид по спортивному программированию: обзор соревнований и советы по участию в них

tproger.ru

Тем самым мы показали, что условие задачи эквивалентно правильной скобочной последовательности с 26 типами скобок. Для проверки того, что скобочная последовательность является правильной, лучше всего использовать стек: в начале обсуждения законопроекта мы кладём на стек букву, соответствующую внёсшей его партии, по окончании – сравниваем вершину стека с буквой, соответствующей партии, законопроект которой поставлен на голосование (если не равны – запись некорректна) и снимаем букву со стека. Если в какой-то момент времени была попытка взять вершину пустого стека – запись некорректна. Если по завершении всей записи стек не пуст – какие-то законопроекты не поставлены на голосование и запись некорректна. Во всех остальных случаях запись корректна.

Чем занят спортивный программист?

Промышленный программист работает в рамках ТЗ и дедлайнов. Спортивный программист живет немного в другой системе координат. Три ключевых события в его жизни — это сборы, контесты и «дорешка».

На сборах он отрабатывает мастерство и знакомится с будущими конкурентами. Сборы проходят по всему миру — например, Moscow Workshops организует их в городах от Сингапура до Барселоны, а также проводит в Москве четвертьфинал и квалификационный тур студенческого чемпионата для «спортсменов» — ICPC.

На контестах программисты обычно работают в команде из трех человек за одним компьютером. Действовать приходится быстро — в среднем на 10 задач дают не больше пяти часов. Задачи бывают разные. Обычно это гипотетические кейсы, которые нужно решить с помощью алгоритмического моделирования. Например, требуется создать программу, которая рассчитает выручку для парковки. Исходные данные: тарифы, вес автомобилей и порядок, в котором они прибывают и отбывают с парковки. Другой пример: нужно рассчитать, можно ли за один день сфотографировать все достопримечательности в парке, поймав хорошее освещение. Звучит просто, но без глубоких познаний в математике и информатике точный ответ найти не получится.

С чего начать

С точки зрения подготовки хорошего алгоритмического программиста и участника разных контестов — как подготовить себя к такому? Если представить себя на месте старшеклассника или студентов первых курсов?

Мне кажется, самый стандартный способ — это попробовать. У всех соревнований доступен архив проводившихся ранее контестов, там тысячи задач, которые можно порешать в любое время.

А если я беру задачу и вообще не знаю, с какой стороны к ней подойти?

Значит, возьми попроще. Они ведь разные. Есть задачи, которые может решить каждый второй выпускник школы. Там совершенно разные уровни сложности. Втянуться должно быть довольно легко. Другого способа, как мне кажется, нет. Плюс таким образом ты сразу поймешь, нравится тебе эта деятельность или нет.

Что нужно делать, чтобы набрать алгоритмическую базу? Вряд ли нужно прямо сразу кидаться читать Кнута.

Мне кажется, начинать нужно именно с задач. Уже потом, когда ты поймешь, что не можешь решить какую-то конкретную из них, в этих соревнованиях у каждой есть разбор. Можно прочитать решение, если справиться самостоятельно не получается. Например, в разборе указано, что в решении задачи используется некий алгоритм. Можно почитать, что это за алгоритм, где еще он применяется.Так лучше, чем читать по списку «ага, у меня есть алгоритм, который мне нужно изучить за лето». Лучше отталкиваться от конкретной задачи, которую ты не смог решить, потому что не знаешь какой-то конкретный алгоритм. Это более правильно. Запоминаешь лучше, мотивация получается сильнее. Такой способ изучения алгоритмов, наверное, дольше, чем по списку, но он приводит к лучшим результатам.

Если хочется «прокачать» себя именно по алгоритмам, есть какая-то литература, учебники?

Самый стандартный учебник — Кормен, Лейзерсон, Ривест с ослом на обложке. «Алгоритмы: Построение и анализ» называется. Не знаю, я довольно давно не учился, сейчас наверняка есть новые учебники, которые могут быть лучше. Но в мое время использовали Кормена. Кнут — это, скорее, этакий reference book. Если что-то нужно найти и оно нигде не находится, скорее всего, там оно будет. Но читать Кнута подряд… это довольно грустное занятие.

О задачах и их составлении

Как составляют задания для соревнований? Есть составители, люди, которые уже умеют это делать, или это некий краудсорсинг, где каждый может предложить что-то свое?

В упомянутых еженедельных соревнованиях именно так: каждый может предложить свою задачу. Но существует требование, чтобы человек до этого поучаствовал в достаточном числе соревнований. Своего рода проверка, понимает ли человек, о чем вообще должны быть задачи. После можно отправлять свои задания, и жюри ответит, можно ли их использовать, подходят ли они. Если задачи подходящие, их потом дают на соревнованиях, а автору платят за это деньги — не очень большие, но все же.

Придумывать такие задачи — это ведь особый скилл?

О да. Можно придумывать задачи, отталкиваясь от решений. Скажем, ты прочитал какую-то статью в научном журнале про интересный алгоритм. Или просто нашел некий алгоритм и вспомнил, что раньше с ним сталкивался, но в последнее время давно его не видел. Можно придумать задачу, которая требует его использования.

Второй способ: когда в работе или в жизни возникает некая проблема, и ты понимаешь, что ее можно круто использовать. Возможно, придется что-то усложнить или изменить ограничения, но потом получится интересная задача для соревнования.

Авторы часто пытаются сделать задачи ближе к реальности, используют термины из жизни?

Есть соревнования разной степени приближенности к жизни. Обычно задача на соревнованиях дается не в каких-то формальных терминах, вроде «дано: решить уравнение такое-то». Обычно как раз дается некий бэкграунд, история. Как в школьных учебниках по математике: «По одной трубе втекает десять литров воды в минуту». Поэтому сначала нужно как-то формализовать эту историю, найти в ней математическую задачу, а уж потом решать.

Бывают и другие соревнования. У TopCoder это называется Marathon Match, и другие компании тоже проводят подобные контесты. Они устроены немного иначе. Это уже соревнования не по алгоритмам, а по решению приближенных задач. Когда нет точного решения и нужно придумать вариант как можно лучше. Такие соревнования длятся обычно две недели, месяц. Можно присылать разные решения и наблюдать, что, ага, вот сейчас мое решение лучше остальных на 20%.

«Лучше» — в смысле быстрее, использует меньше памяти и так далее?

Да. К примеру, нужно придумать схему распределения движения автобусов по карте Москвы, чтобы использовать как можно меньше автобусов. То есть в условии задачи есть некий параметр, который нужно оптимизировать, но единого «верного решения» не существует, только какие-то приближенные алгоритмы.

Тот же Topcoder проводил соревнования вместе с NASA, и они говорят, что решения, которые им предложили, потом действительно адаптировали и использовали на МКС. Там решали какую-то конкретную задачу, кажется, как поворачивать солнечную батарею, чтобы та получала больше энергии.

[править] Личности

Короткевич (справа) второй раз выигрывает ICPC

  • Билл Пучер (Паучер) — бессменный директор ACM ICPC, большой любитель классической музыки.
  • Андрей Станкевич — вице-директор Северо-Западного полуфинала АСМ (Россия и СНГ), призёр финалов ICPC 2000 и 2001 года, и вообще тот, на ком сейчас держится вся подготовка команд ИТМО.
  •  — студент ИТМО из Бульбостана, выступающий за Россию. Обычно считается самым сильным олимпиадником, что подтверждают запредельный рейтинг на этих ваших Codeforces и первые места на IOI, ICPC, Google Code Jam, VK Cup, Topcoder Open, Яндекс. Алгоритм и т. д. и т. п. А чем можешь похвастаться ты, юный падаван?
  • Снарк — имеет бороду, ведёт открытый кубок (OpenCup), являющийся зеркалом разноместных онсайт-контестов по правилам ACM, также любитель придумывать новые правила для своих собственных контестов.
  • Владислав Исенбаев aka Winger — студент ИТМО, победивший в финале ACM 2009 года и зафейливший две последующие попытки попасть в финал, проиграв другой команде собственного университета.

Окей, вы меня убедили, хочу этим заниматься. С чего начать?

«В Татарстане хорошо развито олимпиадное программирование: в школах действуют кружки, а в вузах — специализированные курсы. Например, в Университете Иннополис работает школа довузовской подготовки InnoStar, где работают тренеры по спортивному программированию, проводится олимпиада Innopolis Open по информатике, школа олимпиадной подготовки по информатике, учебно-тренировочные сборы для подготовки участников к международным соревнованиям (IATI, eJOI) и Всероссийской олимпиаде школьников по информатике», — говорит Владимир Сметанин, руководитель Олимпиадного центра Университета Иннополис.

Университет ориентирован на выстраивание целой экосистемы вокруг спортивных программистов и создает для них условия, начиная со средней школы. От школьных олимпиад они переходят к студенческим турнирам. Студентов поддерживают максимально: от расходов на учебно-тренировочные сборы и соревнования, организации университетских турниров до выплаты надбавок к стипендии за достижения на чемпионатах. Как результат системной работы, команда студентов Университета Иннополис прошла в финал ICPC 2020 в Москве.

Кроме того, занятия по спортпрограммированию проводят в КФУ, также работает Олимпиадный центр на базе института вычислительной математики и информационных технологий. Недавно команда лицея им. Н.И. Лобачевского при КФУ получила бронзу на фестивале Rucode, хотя в чемпионате участвовали тысячи конкурсантов со всей России и из других стран.

Школьникам и студентам лучше начинать осваивать программирование с тренерами — это поможет быстрее понять, какие требования предъявляют к олимпиадникам, и скорее выступить на контесте.

Если вы уже закончили учебу, постепенно начинайте решать простые задачи. За помощью можно обратиться к коллегам на Codeforces — это самое крупное русскоязычное (и не только) сообщество спортивных программистов. Можно присоединиться к бесплатным образовательным инициативам вроде Rucode. Как только научитесь решать задачи, начинайте участвовать в контестах. Даже если трудности возникнут еще на отборочном туре, вы поймете, какие требования предъявляют к «спортсменам», и быстрее адаптируетесь.

ACM/ICPC

Традиционно начинаем обзор с самой известной и самой древней студенческой олимпиады по программированию. Корни этого мероприятия уходят в семидесятые годы прошлого века. Современный облик оно приобрело в 1977 году, с тех пор проводится ежегодно. Раньше принять участие могли только студенты из США и Канады, но со временем олимпиада стала всемирной, и, что самое интересное, последние семь лет (с 2012 года) ее победителями становятся студенты из России. Всего с 2000 года чемпионский кубок ACM/ICPC побывал в России тринадцать раз. Кстати, с конца девяностых ни разу студенты из США не побеждали в олимпиаде. Основать основали, а вот программировать так и не научились.

Финал ACM/ICPC 2018, Пекин, Китай

ACM/ICPC — соревнование командное. Команда состоит из трех человек, участвовать могут студенты вузов и аспиранты первого года обучения — главное, чтобы возраст не превышал 25 лет. Не допускаются студенты, пятикратно принимавшие участие в олимпиаде или же дважды попадавшие в финальную стадию. Правила олимпиады неизменны: за пять часов программисты должны решить от восьми до двенадцати алгоритмических задач (условия написаны, естественно, на английском). Из года в год меняется только список допустимых языков программирования. В 2018 году в нем были C, C++, Java, Kotlin и Python. Ранее был доступен и Pascal, но теперь он закономерно ушел в прошлое.

Результаты отправляются на тестирующий сервер, где проверяются. Если еще есть время, а задача решена неправильно или не соблюдены ограничения по времени выполнения и используемой памяти, то об этом сообщается команде, и она может провести работу над ошибками. Побеждает команда, справившаяся с наибольшим числом задач. Если несколько команд решили одинаковое число задач, то побеждает та, которая сделала это быстрее.

В этом году впервые чемпионский кубок уехал в Москву — победителем стала команда из МГУ. В составе команды — Михаил Ипатов, Владислав Макеев и Григорий Резников. До этого кубок, как эстафетная палочка, переходил от Университета ИТМО к СПбГУ и обратно.

Поскольку олимпиада международная, то место ее проведения каждый год меняется. В этом году она проходила в Китае, в прошлом — в США, а в 2013-м и 2014-м — в Санкт-Петербурге и Екатеринбурге соответственно.

Теперь о профите. Команда-победитель в этом году получила 15 000 долларов, команды, завоевавшие золотые медали (первые четыре места), — по 7500 долларов, серебряные медали (5–8-е места) — по 6000 долларов. А утешительный приз (10–12-е места) составляет 3000 долларов — для обладателей бронзовых медалей. Впрочем, деньги здесь не главное. Участие в этой олимпиаде — шанс получить высокооплачиваемую работу и даже встретиться с президентом РФ.

Для кого олимпиада?

Олимпиада рассчитана на школьников, которые имеют начальные навыки решения алгоритмических задач, программирования и лишь недавно начали заниматься олимпиадным программированием. В этом отличие «Высшей пробы» от других олимпиад школьников по программированию, где требуется более серьезная подготовка.

К участию в олимпиаде приглашаются команды из трех человек. Распределение ролевых функций между членами команды неформальное, то есть задачи могут решаться коллективно или распределяться между членами команды. Профессиональная деятельность в сфере разработки обычно организована именно так. Члены команды могут учиться в разных школах, разных классах и даже жить в разных городах.

Очевидно, интерес к олимпиаде проявят, в первую очередь, команды из школ, где уделяют внимание изучению информатики на профильном уровне, где детей ориентируют на участие в олимпиадах по информатике. Наверняка олимпиада заинтересует и учеников физико-математических школ

При этом организаторы олимпиады подчеркивают, что состязание открыто для всех.

«Возможно, для многих ребят «Высшая проба» станет первым опытом участия в командных соревнованиях и олимпиадах по информатике, — говорит Михаил Густокашин. — Мы надеемся, что командное соревнование сможет увлечь их и дать мотивацию заниматься программированием. Нам бы хотелось, чтобы на соревнованиях была настоящая атмосфера праздника, а не ощущение очередного стрессового экзамена».

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *