всем привет)) не подскажите, как решить эту задачу? Понимаю, что нужно запускать алгоритм поиска пути, но загвоздка в том, что если применить его к двоим ребятам, то он может дважды посчитать ребро, по которому один из них уже прошёл
Леон и Матильда собрались пойти в магазин за молоком. Их хочет поймать Стэнсфилд, поэтому нашим товарищам нужно сделать это как можно быстрее. Каково минимальное количество улиц, по которым пройдёт хотя бы один из ребят (либо Матильда, либо Леон, либо оба вместе)?
Формат ввода
Первая строка содержит количество вершин n (1 ≤ n ≤ 10^5), количество ребер m (0 ≤ m ≤ 10^5) и номера вершин графа leon, matilda, milk, в которых находятся соответственно Леон, Матильда и магазин с молоком.
Следующие m строк содержат ребра графа. В каждой строке два числа, разделенные пробелом, если между i и j существует ребро. Гарантируется, что в графе нет петель и мультиребер.
Формат вывода
Одно число – количество ребер.
Пример 1
Ввод
3 2 1 2 3
1 3
2 3
Вывод 2
Пример 2
Ввод
3 2 1 2 3
1 3
1 2
Вывод 2
Примечания
Граф связный и неориентированный. Вершины нумеруются с 1.