Спортивное программирование

Материал из Мегапедии
Перейти к: навигация, поиск

Спортивное программирование — интеллектуальный вид спорта.

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

Задачи составляются т. н. «композиторами» задач — людьми, разбирающимся в алгоритмах и умеющими закладывать в задачи красивые идеи.

Зачастую воспринимается как хобби, но может быть и основным занятием.

Решения олимпиадных задач пишутся на C++ как на достаточно быстром языке программирования, также популярными являются Java и Kotlin.

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

Самым престижным соревнованием для школьников считается IOI, для студентов — ICPC. Для взрослых людей также проводятся соревнования, например TopCoder, Google Code Jam, VK Cup, Яндекс. Алгоритм.

Самый титулованный спортивный программист планеты — Геннадий Короткевич.

Рекордсмен по количеству побед на ICPC — Университет ИТМО, команды которого семь раз одерживали победу на соревновании.