해결한 사람
0
명
정답률
0.00
%
시간 제한
4000
ms
메모리 제한
245
MB
각 정점이 최대 하나의 단순 사이클에 속하는 특별한 연결 무방향 그래프가 주어진다.
해야 할 일은 이 그래프를 트리(사이클이 없는 연결 그래프)로 바꾸기 위해 필요한 만큼 최대한 많은 간선을 제거하는 것이다.
각 노드에 대해 독립적으로, 이 거리를 최소화하는 방식으로 간선을 제거한다고 가정했을 때 결과 트리에서 해당 노드와 잎 사이의 최대 거리를 출력한다.
입력의 첫 번째 줄에는 노드의 수와 간선의 수를 각각 나타내는 두 정수 n와 m (1 ≤ n ≤ 5⋅ )가 주어진다.
이어지는 m개의 각 줄에는 두 정수 u와 v (1 ≤ u,v ≤ n, u ≠ v)가 주어지며, 두 노드 u와 v를 연결하는 간선을 나타낸다. 각 노드 쌍은 최대 하나의 간선으로 연결된다.
주어진 그래프가 연결되어 있고 각 정점이 최대 하나의 단순 사이클에 속함이 보장된다.
공백으로 구분된 정수 n개를 출력한다. i-th번째 정수는 이 거리를 최소화하는 방식으로 제거할 간선을 선택했을 때 노드 i와 잎 사이의 최대 거리를 나타낸다.
9 10
7 2
9 2
1 6
3 1
4 3
4 7
7 6
9 8
5 8
5 9
5
3
5
4
5
4
3
5
4
4 4
1 2
2 3
3 4
4 1
2
2
2
2
첫 번째 예제에서 정점 1로부터의 최대 거리를 최소화하는 한 가지 방법은 다음 이미지에 표시된 간선들을 제거하는 것이다.

서로 다른 노드에 대한 답을 최소화할 때는 서로 다른 간선을 제거해도 된다는 점에 유의한다.