Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

F. Расстояние между вершинами

Найдите кратчайшее расстояние между парой вершин в неориентированном графе. Граф может быть несвязным.

Формат ввода

В первой строке дано количество вершин n (1 ≤ n ≤ 105) и рёбер m (1 ≤ m ≤ 105). Далее в m строках описаны рёбра графа. Каждое ребро описывается номерами двух вершин u и v (1 ≤ u, v ≤ n). В последней строке дан номер стартовой вершины s (1 ≤ s ≤ n) и конечной t (1 ≤ t ≤ n).

Гарантируется, что в графе нет петель и кратных рёбер.

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

Выведите длину кратчайшего пути (в рёбрах) между заданной парой вершин. Если пути не существует, то выведите -1.

Пример 1

5 5
2 4
3 5
2 1
2 3
4 5
1 5
3






Пример 2

4 3
2 3
4 3
2 4
1 3
-1




Пример 3

2 1
2 1
1 1
0