|
Understand the structure. Create the interface. Explain your design choices. |
|
Ищем самый дешёвый/быстрый путь с помощью массивов и обычных циклов. Рассмотрим одну и ту же идею на C++ и Python — от выбора вершины до готовой программы. |
|
Обход графа в ширину (BFS). Сначала ближайшие вершины, потом следующие. Разберём, как очередь помогает пройти граф по слоям и найти путь с наименьшим числом рёбер. |
|
Output, input, types, logic, selection, and loops. Predict results, trace variables, repair bugs, and write programs that pass test cases. |
|
Random & Pillow Assessment practice |
|
Обход графа в глубину (DFS). Как пройти по связям, ничего не пропустить и понять, когда пора вернуться назад? |
Путь к олимпиадному программированию. |
|
Разбор задачи |
|
Поразрядные (битовые) операции — фундаментальный инструмент в олимпиадном программировании. Они ускоряют решение задач на масках, подмножествах и битовых DP, а также помогают аккуратно работать с состояниями. |
|
Рекурсия и перебор с возвратом (backtracking) позволяют решать задачи, перебирая варианты пошагово и отменяя неудачные решения. Статья объясняет подход «брать более простой случай», а также как грамотно «откатывать» выбор при поиске ответа. |