Международная студенческая олимпиада по программированию
Содержание:
Правила

Олимпиада — командное соревнование. Каждая команда состоит из трёх студентов. К участию допускаются студенты высших учебных заведений, а также аспиранты первого года обучения. Студенты, дважды участвовавшие в финальной стадии олимпиады, или пятикратно принимавшие участие в региональном отборе, не допускаются к участию. Есть ограничение по возрасту: участники старше 24 лет не допускаются.
Тур олимпиады происходит следующим образом: каждой команде выдаётся компьютер и от восьми до двенадцати задач, условия которых написаны на английском языке, на пять часов. Команды пишут решения на языках программирования C, C++, Java, Python или Kotlin набирая и компилируя программы используя Ubuntu 18.04. LTS(2018 год)и посылают их на тестирующий сервер. Во время некоторых региональных туров набор языков может быть изменён. Так, например, при проведении четвертьфинала по северо-восточному региону участникам доступен Паскаль. Программы тестируются на большом количестве различных входных тестов, неизвестных участникам. Если программа выдала неправильный ответ или не уложилась в ограничения по времени или памяти, то пославшая её команда получает об этом сообщение и может послать исправленную версию. Задача считается решённой, если программа выдала правильные ответы на всех тестах. В отличие от других олимпиад, частичные решения не учитываются.
Побеждает команда, решившая правильно наибольшее число задач. Если несколько команд решают одинаковое количество задач, то их положение в рейтинге определяется штрафным временем. Изначально штрафное время каждой команды равно нулю. За каждую правильно сданную задачу к штрафному времени команды прибавляют время, прошедшее с начала соревнования до момента сдачи задачи. Кроме того, если зачтённой попытке предшествовало несколько неудачных попыток сдать ту же задачу, то за каждую из них к штрафному времени прибавляют двадцать минут. За неудачные попытки сдать задачу, которую команде в итоге так и не удалось решить, штрафного времени не начисляется.
От других олимпиад по информатике эта олимпиада отличается повышенным количеством задач, на которые отводится сравнительно небольшое время. Учитывая, что в распоряжении каждой команды находится только один компьютер, навыки эффективной и слаженной командной работы выходят на первый план.
Многие университеты проводят свои олимпиады используя формат ICPC, поскольку данный формат может считаться одним из самых удачных.
Советы старшеклассникам
Утренние часы — лучший период суточной активности мозга, и нужно использовать их по максимуму. Недавно я начал бегать по утрам и хочу всем посоветовать пробежки. Это помогает разбудить мозг, быть бодрым и продуктивным. Я начинал с 1 километра, а сейчас пробегаю примерно 3-3,5 км за 20-25 минут.
Подготовка к олимпиадам помогает «прокачаться» перед ЕГЭ. Даже если вам не удастся победить в олимпиадах, сам процесс подготовки помогает углубить знания, что полезно на экзамене. Пробуйте, ищите, не опускайте руки, если не получается — возможно, это просто не ваш предмет.
Чтобы разобраться с выбором вуза и специальности, нужно понять, что вам даётся легче всего. У меня всегда была отличная память, я понимал иностранные языки, решал математические задачи, поэтому выбирал именно эти направления
Важно найти свои сильные стороны, понять свои способности и использовать их.
До 11 класса нужно определиться с предметами для сдачи ЕГЭ. В случае сомнений выбирать несколько смежных, например, физика и химия, физика и информатика, обществознание и история.
В старших классах полезно каждую четверть анализировать свои предпочтения, просматривать список вузов и направлений, отмечать наиболее привлекательные факультеты.
Даже если на первом курсе оказалось, что выбранное направление обучения вам не подходит, ничего страшного
Можно поступить на следующий год или перевестись.
Повысить уровень знаний и развить умения в точных науках, да и вообще в любом предмете можно только работая. Успех — это 10% таланта и 90% труда, поэтому даже без математического склада ума можно научиться понимать точные науки. Потребуется больше времени, но иначе не добиться результата.
Задача 4. Драфт НБА
| Input file: | стандартный ввод |
| Output file: | стандартный вывод |
| Time limit: | 2 секунды |
| Memory limit: | 512 мебибайт |
Перед каждым сезоном НБА проходит драфт, то есть церемония выбора игроков командами.
Перед драфтом скаутские службы команд детально изучают потенциальных новичков. Одна из команд поручила вам написать программу для обработки собранных данных в соответствии с внутрикомандными стандартами.
Каждый из новичков до этого провёл как минимум один сезон в студенческих лигах, так что для каждого игрока известны пять основных целочисленных параметров:
- Рост игрока – ожидаемый диапазон от 190 до 220 см.
- Размах рук (иначе говоря, wingspan) – ожидаемый диапазон от 200 до 250 см.
- Среднее количество очков за матч – ожидаемый диапазон от 10 до 20.
- Среднее количество подборов за матч – ожидаемый диапазон от 2 до 6.
- Среднее количество передач за матч – ожидаемый диапазон от 3 до 7.
Таким образом, каждый из параметров может оказаться ниже ожидаемого диапазона, в нижней половине ожидаемого диапазона, в верхней половине ожидаемого диапазона (середина входит в верхнюю половину) и выше ожидаемого диапазона.
Перед драфтом требуется распределить игроков по следующим категориям:
- уникальный игрок (таких ещё называют «единорогами» — unicorn) с сочетанием выдающихся физических данных и игровых навыков;
- игрок, достойный выбора в первом раунде;
- игрок, достойный выбора во втором раунде;
- игрок, которого не стоит выбирать вообще.
Если у игрока три параметра выше ожидаемого диапазона, причём среди них обязательно есть рост или размах рук, то игрок считается «единорогом» (категория 0)
Игрока рекомендуется выбирать в первом раунде драфта (категория 1), если верно одно из следующих утверждений:
- У игрока два параметра выше ожидаемого диапазона и ещё один – как минимум в верхней половине ожидаемого диапазона.
- У игрока все параметры как минимум в ожидаемом диапазоне и не менее трёх – как минимум в верхней половине.
Игрока рекомендуется выбирать во втором раунде драфта (категория 2), если верно одно из следующих утверждений:
- У игрока один параметр выше ожидаемого диапазона и ещё один — как минимум в верхней половине ожидаемого диапазона.
- У игрока три параметра как минимум в верхней половине ожидаемого диапазона.
В остальных случаях тратить выбор драфта на этого игрока не рекомендуется (категория 3).
Вам заданы параметры некоторых из 32 игроков текущего драфта (для объективности имена игроков не указаны). Ваша задача – для каждого игрока определить категорию, под которую он подпадает для вашей команды на драфте.
Входные данные
Первая строка входных данных содержит одно целое число N— количество игроков (1 ≤ N ≤ 32). Описание каждого игрока состоит из 5 целых чисел: роста h (150 ≤ h ≤ 250), размаха рук w (150 ≤ w ≤ 270), среднего количества очков s за матч (5 ≤ s ≤ 35), среднего количества подборов r за матч (0 ≤ r ≤ 10), среднего количества передач p за матч (0 ≤ p ≤ 10). Каждое число задаётся в отдельной строке.
Вывод
Для каждого игрока в порядке их следования во входном файле выведите одно число – категорию на драфте, в которую этот игрок попадает в соответствии с критериями вашей команды.
Пример
| стандартный ввод | стандартный вывод |
| 3 230 190 16 7 9 205 225 15 5 2 210 210 30 9 9 |
0 2 1 |
Примечание У первого игрока из примера к задаче рост выше ожидаемого диапазона, кроме того, выше ожидаемого ещё два параметра. Так что этот игрок является «единорогом». Второму игроку для выбора в первом раунде не хватает количества передач – оно у него ниже ожидаемого диапазона, а все остальные навыки в верхней половине этого диапазона. Так что команда будет выбирать этого игрока во втором раунде. У третьего игрока три параметра выше ожидаемого диапазона, но так как среди них нет ни роста, ни размаха рук, «единорогом» этот игрок не является и будет выбран в первом раунде.
В этой задаче надо просто сделать то, что описано в условии: посчитать для каждого параметра, в какую категорию он попадает, и затем в нужном порядке проверить все варианты.
Как я дважды оказался на первом курсе
В период с 9 по 11 класс я пять раз ездил в олимпиадную школу при МФТИ. Именно там я понял, что хочу поступить на Физтех, а с факультетом определился в последний момент.
Я выбирал между факультетом инноваций и высоких технологий (ФИВТ), где обучают программированию, и факультетом медицинской физики (ФБМФ). Чтобы поступить на ФИВТ, мне не хватило одного балла, однако вуз предложил грант на обучение. Я обдумал, что лучше: учиться по гранту или поступить самому на бюджет, и выбрал медицинскую физику.
ФБМФ — один из лучших факультетов в МФТИ. Здесь я осознал, что меня привлекают не прикладные специальности, а научная деятельность. Однако по личным причинам учёба на Физтехе не сложилась, и после 1 курса я перешёл на прикладную математику в НИТУ «МИСиС».
Я решил учиться на программиста и параллельно изучать биологию с химией. В дальнейшем планирую поступить в магистратуру и заниматься биоинформатикой.
Игра для программистов FuncBall
Многие, как и я, любят футбольные симуляторы и многие увлекаются программированием. Когда-то, в далёком 2004 году, наигравшись в ФИФУ я подумал, что было бы неплохо совместить два моих увлечения в одной игре, в которой игроки управлялись бы не вручную, а написанным для них скриптом. Этакая игра для программистов, а-ля «RoboCup Simulation Soccer», только на свой лад. Я тогда был начинающим программистом и написал уже несколько простеньких игр, но реализовать свою задумку в полной мере не смог, так как не придумал, как написать подходящий интерпретатор языка программирования игроков. Игр для программистов сейчас стало больше, но такую, как я хотел не нашёл, и спустя много лет и тонны написанного кода, я решил вернуться к своей давней задумке.
Игра получилась такой, как я и хотел — funcball.com.
План-график проведения олимпиады в 2020 году
|
Начало |
Окончание |
|
|
Заочный тур |
||
|
Регистрация участников заочного тура |
01.03.2020 |
|
|
Публикация задания заочного тура |
01.02.2020 |
|
|
Прием решений от участников заочного тура |
01.03.2020 |
|
|
Региональный тур |
||
|
Подача заявок на проведение региональных туров |
27.01.2020 |
|
|
Регистрация участников очного тура |
31.01.2020 |
|
|
Проведение регионального тура |
01.02.2020 |
01.03.2020 |
|
Предоставление заявок на участие победителей регионального тура во втором туре |
6.03.2020 |
|
|
Финальный тур |
||
|
Подведение итогов первого тура и приглашение победителей к участию во втором туре |
11.03.2020 |
|
|
Проведение второго тура |
Дата определяется, интервал 24-29 марта |
|
|
Подведение итогов второго тура |
27.04.2020 |
Чемпионат по программированию Google Code Jam
Было бы странно, если бы у такой инновационной компании, как Google, не было собственного чемпионата по программированию, тем более что это хороший способ привлечь талантливую молодежь в свои ряды.
Чемпионат Google Code Jam проводится с 2003 года. Участники должны решить алгоритмические задачи за фиксированное время. Особенность чемпионата в том, что разрешается использовать любой язык программирования и любую среду разработки — никаких ограничений нет, главное, чтобы участник сумел решить задачу и закодировать ее реализацию.
Соревнования Google Code Jam
Приз за первое место составляет 15 000 долларов. Примечательно, что последние пять лет (с 2014 по 2018 год) первое место принадлежит Геннадию Короткевичу из Белоруссии с ником tourist, который более чем оправдан — чемпионат за эти годы проводили в США, Ирландии и Канаде.
Задачи
На классических олимпиадах по программированию участникам предлагается некоторый набор задач различного уровня сложности. Решением задачи является программа, написанная на одном из допустимых языков программирования. Эта программа должна корректно считывать любые входные данные указанного формата из определённого входного потока, корректно обрабатывать их согласно условию задачи, и выводить в определённый выходной поток в указанном виде. Для ввода-вывода могут использоваться как стандартные консольные потоки, так и файловые (часто входной файл имеет имя «input.txt», а выходной — «output.txt»).
Все решения проверяются автоматизированной тестирующей системой. Она запускает каждое решение на некотором наборе тестов. После завершения работы программы она оценивает правильность полученных выходных данных — сравнивает с эталонными или производит более сложные действия.
Особенностью олимпиадных задач является художественность их условия. В условиях редко ведётся речь о структурах данных и алгоритмах, приводящих к решению. Чаще условие задачи представляет собой короткий рассказ со своим сюжетом, героями и конфликтом. Таким образом, чтобы решить олимпиадную задачу, нужно предварительно составить математическую модель событий, и уже по ней подобрать или построить подходящий алгоритм. Алгоритм может быть как одним из уже известных алгоритмов, так и абсолютно новым, непохожим на другие.
Пример классической простейшей задачи, часто используемой для пробного тура: A+B.
Апрельский Кубок по программированию 3-7 классов
Апрельский Кубок в 2020 году проводится вместо Апрельской Олимпиады в связи с пандемией. Апрельский кубок будет проведен 18-19 апреля 2020 года
по тем же правилам, что и Февральский. Участие можно будет принять в одной из двух лиг по выбору, а победители получат электронные дипломы.
Когда? Апрельский кубок проводится два дня: 18 и 19 апреля 2020 года.
Как? Олимпиада проводится заочно на сайте сodeforces.
Это значит, что задания можно выполнять
дома в удобной обстановке, в удобное время в течение 18 и 19 апреля.
Есть ли разделение на лиги? Кубок проводится в двух лигах в зависимости от уровня подготовки
участников: Первой и Высшей.
Вы сами выбираете, в какой лиге хотите участвовать (можно даже успеть поучаствовать в обеих).
Первая лига предназначена для тех, кто занимается программированием не более двух лет.
В Высшей лиге – задания для тех, кто уверен в своих силах и не готов отступать перед трудностями.
Зачем участвовать?
- Участие в любой из лиг — это возможность потренироваться и проверить свои силы.
- Участие в любой из лиг — это возможность познакомиться с системой тестирования codeforces, на которой
проходят соревнования по олимпиадному программированию для старшеклассников и студентов, такие как
Всероссийская командная олимпиада школьников, VK Сup, Mail.ru Сup, и многие другие. - Победители получат электронные дипломы в свое портфолио.
Правила:
Как система автоматизации решает проблемы спортивного клуба
Recovery Mode
Доходы большинства спортивных клубов зависят от государственных дотаций и спонсорской помощи. Самостоятельная финансовая деятельность не всегда успешна. Полупустые трибуны, низкие продажи билетов и атрибутики – это часто встречающиеся проблемы. При этом клуб может вести энергичную маркетинговую деятельность и тратить немалые деньги на привлечение людей в зал.
Автоматизированная система работы с болельщиками (FRM) помогает повысить продажи: это удобный инструмент для исследования аудитории, для установления контакта с каждым болельщиком и повышения его лояльности. Кроме того, использование FRM сокращает затраты на ведение отчетности.