eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Точки сочленения - расстановка меток

Точки сочленения - расстановка меток

Задан неориентированный граф. Запустите поиск в глубину из заданной вершины v. Выведите метки d[v] и up[v] для каждой вершины v в порядке возрастания вершин.

Входные данные

Первая строка содержит количество вершин n (n100) и ребер m неориентированного графа. Вершины нумеруются начиная с 1. Каждая из следующих m строк содержит две вершины a и b - неориентированное ребро графа. Последняя строка содержит вершину v.

Выходные данные

Запустите dfs(v). Выведите метки d[v] и up[v] для каждой вершины v (v = 1, 2, ..., n). Метки для каждой вершины следует выводить в отдельной строке.

Пояснение

Используйте матрицу смежности для хранения графа.

prb10224.gif

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
6 8
6 5
6 3
5 3
4 5
3 4
3 2
1 2
1 3
1
Выходные данные #1
1 1
2 1
3 1
4 3
5 3
6 3
Входные данные #2
7 9
1 2
2 3
1 3
3 4
2 5
4 5
4 6
4 7
6 7
1
Выходные данные #2
1 1
2 1
3 1
4 2
5 2
6 4
7 4