Обучение программированию — от нуля до олимпиад
Изучайте программирование с нуля и готовьтесь к олимпиадам: уроки с теорией и примерами кода, задачи с автоматической проверкой и понятный путь от первого «Hello, World» до продвинутых алгоритмов.
Как пользоваться сайтом
Войдите через Google
Один клик — и ваш прогресс, решения и история попыток сохраняются автоматически.
Выберите свой путь
Новичок? Начните с курса языка программирования. Уже пишете код? Начинайте путь олимпиадника с первого уровня.
Решайте задачи с автопроверкой
К урокам прилагаются задачи. Отправьте решение — система проверит его на тестах за секунды.
Соревнуйтесь и растите
Участвуйте в соревнованиях, следите за рейтингом и переходите на следующий уровень.
Путь олимпиадника
6 уровнейПошаговая программа подготовки к олимпиадам по программированию: от основ алгоритмики до экспертных тем. Каждый уровень содержит уроки с теорией, примерами кода и задачами с автоматической проверкой. Если вы совсем новичок — сначала пройдите курс одного из языков программирования.
- 1
Уровень 1. Основы алгоритмики
Сложность алгоритмов, задачи на реализацию и базовая математика — фундамент всего дальнейшего пути.
3 уроков
- 2
Уровень 2. Сортировки и поиск
Классические приёмы, которые встречаются почти в каждой олимпиадной задаче: сортировки, два указателя, префиксные суммы и бинарный поиск.
4 уроков
- 3
Уровень 3. Структуры данных и жадные алгоритмы
Стек, очередь, множества и словари, рекурсия, жадные алгоритмы и DSU — инструменты для задач среднего уровня.
5 уроков
- 4
Уровень 4. Графы и динамическое программирование
Обходы графов, кратчайшие пути, остовные деревья и первые задачи на динамическое программирование.
4 уроков
- 5
Уровень 5. Продвинутые темы
Продвинутое ДП, дерево отрезков, строковые алгоритмы и теория чисел — уровень призёров региональных олимпиад.
4 уроков
- 6
Уровень 6. Экспертные темы
Потоки, суффиксные структуры и вычислительная геометрия — темы международного уровня.
3 уроков
Курсы по языкам программирования
Освойте язык с нуля до уровня, с которого можно начинать олимпиадный путь.
Курс C++ с нуля
C++ — главный язык спортивного программирования. Курс ведёт от первой программы до уверенного владения языком и STL, чтобы вы могли начать путь олимпиадника.
10 уроков
Курс Python с нуля
Python — самый простой язык для старта. Курс от первой программы до уровня, с которого можно начинать решать олимпиадные задачи.
10 уроков
Курс Java с нуля
Java — строгий и мощный язык. Курс от первой программы до коллекций и быстрого ввода-вывода для олимпиад.
10 уроков
Курс Go с нуля
Go — простой и быстрый язык. Курс от первой программы до срезов, мап и буферизованного ввода-вывода.
10 уроков