Directory structure:
- /adoc - AsciiDoc sandbox. It is a best format for large documentation
- /algoprog.ru - Problem solving from algoprog.ru and informatics.mccme.ru sites in C++
- /capnproto - Experiments with Cap'n Proto. Cap'n Proto is an insanely fast data interchange format and capability-based RPC system.
- /clojure - Problem solving from algoprog.ru and informatics.mccme.ru sites in Clojure
- /comb - Some useful combinatorics algorithms implemented in Python
- /cpp - External and internal web-services on C++ and Cap'n'Proto
- /crypto - Cryptography
- /kotlin - Algorithms on graphs implemented on Kotlin
- /java - Data structures, algorithms written on pure java from scratch + actors
- /scala - Functional programming practice on pure Scala and using Cats library (and some other)
- /ml - Machine Learning
- /sql - State machine, tree-structures, versioning, discontinuous ranges intersection and other non-trivial implementations on SQL
- /typelevel-ecosystem - Web-services on Scala wrtten in functional style
- /windows - Automation for Windows
- /unfinished - Cemetery. All languages
Решения задач с algoprog.ru и informatics.mccme.ru. Старые решения на Clojure формально не проверялись, потому что Clojure нет среди доступных языков программирования. Решения на C и C++ формально проверены через систему на informatics.mccme.ru и прошли все тесты.
Проверить решения на Clojure можно так:
cd clojure
lein test
Тесты для решений на C и C++ не опубликованы, но собрать все такие программы можно так:
./build.sh
Исходные тексты задач не публикуются в этом репозитории. Их можно найти по ссылкам:
- https://informatics.mccme.ru/moodle/mod/statements/view3.php?chapterid=<PROBLEM_ID>
- https://algoprog.ru/material/p<PROBLEM_ID>
PROBLEM_ID
содержится в имени файла с решением.
Список решённых задач:
Приведены ссылки на исходные тексты задач и ссылка на решение, которое хранится в этом репозитории.
- Уровень 1
- Уровень 1Б
- 1Б: Задачи на вещественные числа
- a + b = c (C)
- Часы - 1 (C)
- Утренняя пробежка - 1 (C)
- Утренняя пробежка - 2 (C)
- Диета (C)
- 1/0!+1/1!+1/2!+... (C)
- 1Б: Задачи на вещественные числа
- Уровень 1В
- 1В: Продвинутые задачи на арифметические операции: в них запрещается пользоваться if'ами и циклами
- 1В: Продвинутые задачи на условный оператор: в них запрещено пользоваться циклами и массивами
- 1В: Продвинутые задачи на циклы: в них запрещается пользоваться массивами
- 1В: Продвинутые задачи на массивы
- 1В: Продвинутые задачи на вещественные числа
- 1В: Продвинутые задачи на строки
- Уровень 1Г
- 1Г: Дополнительные задачи на разные темы - 1
- 1Г: Дополнительные задачи на разные темы - 2
- 1Г: Дополнительные задачи на разные темы - 3
- Уровень 1Б
- Уровень 2
- Уровень 2А
- 2А: Задачи на НОД
- 2А: *Задачи на рекурсивный перебор
- Двоичные строки заданной длины (C++)
- Все двоичные строки длины n, содержащие ровно k единиц (C++)
- Все перестановки заданной длины (C++)
- Разбиение на невозрастающие слагаемые, лексикографический порядок (C++)
- Разбиение на невозрастающие слагаемые, обратный порядок (C++)
- Разбиение на неубывающие слагаемые, лексикографический порядок (C++)
- 2А: Задачи на квадратичные сортировки
- 2А: Задачи "на технику"
- Уровень 2Б
- 2Б: Простые задачи на ДП
- 2Б: Задачи на стек, очередь и дек
- 2Б: Задачи на множители
- 2Б: Задачи на простую жадность
- Уровень 2В
- 2В: Продвинутые задачи на НОД
- Шестеренки (C++)
- Кинотеатр (C++)
- 2В: Продвинутые задачи на квадратичные сортировки И на стек-очередь-дек
- 2В: Продвинутые задачи на ДП
- 2В: Дополнительные задачи на разные темы
- 2В: Продвинутые задачи на НОД
- Уровень 2А