Модуль: BFS. Продвинутый курс


Задача

1/3

0-1 BFS: Начало (C++)

Теория Нажмите, чтобы прочитать/скрыть

0-1 BFS
Для решения этой задачи модифицируем стандартный алгоритм BFS с помощью дек ( deque ): если рассматриваемое ее ребро имеет вес 0, то будем добавлять вершину в начало, а иначе в конец. 
Таким образом, в начале дека всегда будет вершина, расстояние до которой меньше либо равно расстоянию до остальных вершин дека, и требование расположения элементов в деке в порядке неубывания сохраняется.
Реализацию алгоритма 0-1 BFS смотрите в самой задаче.

Задача

По заданному изображению неориентированного графа (имеет ребра весом 0 и 1), выведите список кратчайших расстояний от вершины 0 до всех остальных.
 
Входные данные 
Дано изображение неориентированного графа с ребрами 0 и 1.
 
Выходные данные
В ответе выведите список кратчайших путей от вершины 0.