Некоторые виды олимпиадных задач по программированию:
- Алгоритмические задачи. 1 Требуют от участников разработки алгоритмов для решения поставленной проблемы. 1 Примеры: сортировка массивов, поиск кратчайшего пути в графе и динамическое программирование. 1
- Комбинаторные задачи. 1 Связаны с подсчётом различных комбинаций и перестановок. 1 Примеры: задачи на перебор всех возможных вариантов и задачи на нахождение оптимальных комбинаций. 1
- Геометрические задачи. 1 Требуют знаний в области геометрии и включают задачи на нахождение расстояний, площадей и объёмов. 1 Примеры: задачи на нахождение пересечений прямых и кругов. 1
- Задачи на строки. 1 Требуют работы с текстовыми данными. 1 Примеры: задачи на поиск подстрок, сравнение строк и преобразование строк. 1
- Стандартные задачи. 3 Решением является программа, формирующая выходной файл по заданному входному. 3
- Интерактивные задачи. 3 Решением также является программа, которая вместо чтения данных из входного файла и записи в выходной должна обмениваться данными с другой программой, определённой в условии задачи. 3
- Задачи с открытыми тестами. 3 Решением является не программа, а файлы выходных данных, соответствующие заданным в условии задачи входным файлам. 3
Также олимпиадные задачи могут быть классическими и эвристическими. 4 Классические задачи предполагают наличие точного строго доказанного решения, а эвристические обычно не имеют точных решений и близки к реальной разработке. 4