Стоит ли начинать готовиться к олимпиадному программированию в 10 классе, и какой язык лучше выбрать?
=======================================================================================================

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

Хватит ли мне времени для подготовки, чтобы взять призёра перечневых олимпиад по программированию? Или лучше не рисковать и готовиться к ЕГЭ по информатике?   

Достаточно ли Python для того чтобы взять призёра перечня, если нет, то что стоит учить? 

 Здраствуйте. Начать программировать с 10 класса поздновато, но можно подготовиться к 11 классу, успев выучить базовые и не очень алгоритмы. Я бы посоветовал изучить **С++**, потому что **Python** часто не влезает в поставленные ограничения по времени.   

  

В целом, знать **python** на базовом уровне тоже надо, чтобы не приходилось писать длинную арифметику.  

  

> **Поучите c++ по данным темам (написано в порядке изучения):**  
> 
> - Ввод/вывод  
> 
> - Условные операторы (if - else, switch - case, тернарный условный оператор)  
> 
> - Циклы (for, while, do while)  
> 
> - Массивы (одномерные, двумерные)  
> 
> - Функции  
> 
> - Рекурсии  
> 
> - Графы, введение в теорию графов  
> 
> - BFS (обход в ширину)  
> 
> - DFS (обход в глубину)  
> 
> - Жадный алгоритм  
> 
> - Динамическое программирования (также: НОП, НВП, задача об укладке рюкзака)  
> 
> - Изучить встроенные контейнеры: vector, set, multiset, map, multimap, queue, priority\_queue, stack, deque, list   
> 
> 

  

  

> **Если намерены знать более сложные алгоритмы (вполне могут пригодится):**  
> 
> - алгоритм Дейкстры, Форда-Беллмана, Флойда  
> 
> - Дерево отрезков (без множественных операций)  
> 
> - Доизучать все более сложные контейнеры  
> 
> 

  

  

> **Если намерены участовать не только в перечневых олимпиадах, но и подготовиться к 11 классу к региональному и заключительному этапу ВОШ:**  
> 
> - ДП на подотрезках, на поддеревьях, по подмножествам, по профилю  
> 
> - Дерево отрезков со множественными операциями, декартово дерево, дерево Фенвика  
> 
> - Система Непересекающихся Множеств  
> 
> - Z-функции  
> 
> - Боры  
> 
> - Хэши  
> 
> - Кучи (а еще можно научиться писать Фибоначчиеву кучу (over hard))   
> 
> 

  

  

> **Также, ко всему этому, надо подтянуть математику, в частности геометрию:**  
> 
> - Нахождение расстояния от точки до прямой  
> 
> - Вектора (скалярное и векторное произведение)  
> 
> - Да и логика не помешает

  

  

Удачи в начинаниях!