EduBrick
← вернуться к уроку · Обходы: в глубину и в ширину

Расстояние до вершины

8000 мс · 256 МБ · всё или ничего

Расстояние между вершинами — наименьшее количество рёбер в пути между ними.

Найдите расстояние от вершины 1 до вершины vv. Если пути нет, выведите -1.

Формат ввода

В первой строке числа nn от 11 до 21052 \cdot 10^5, mm от 00 до 21052 \cdot 10^5 и vv от 11 до nn. Во второй строке 2m2m чисел: пары концов рёбер.

Формат вывода

Одно число.

Примеры

ввод
2 1 2
1 2
вывод
1

Примечание

Обход в ширину идёт слоями: сначала все вершины на расстоянии 1, потом на расстоянии 2. Поэтому вершина попадает в очередь ровно тогда, когда до неё найден кратчайший путь, и расстояние можно записывать сразу.

Войдите, чтобы отправлять решения.
← Вернуться к уроку