#144
Platinum II
잃어버린 순수
스페셜 저지채점 준비중
시간 제한
1s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

NN개의 정점과 N1N-1개의 간선으로 이루어진 트리가 있다. 각각의 정점은 1,2,,N1,2,\cdots ,N번으로 번호가 매겨져 있다. 이 트리에 간선을 최소한으로 추가해서 모든 정점이 적어도 하나의 사이클에 포함되게 만들어 보자. 단, 자기 자신을 잇는 간선은 추가할 수 없고, 완성된 그래프의 임의의 두 정점 사이에는 간선이 최대 한 개 존재해야 한다.

모든 정점이 적어도 하나의 사이클에 포함되게 만들기 위해 추가해야 하는 간선의 최소 개수와, 각각의 간선이 잇는 두 정점의 번호를 구해보자.

입력

첫째 줄에 정수 N(3N100000)N(3\le N\le 100\, 000)이 주어진다.

둘째 줄부터 N1N-1개의 줄에 각 간선이 잇는 두 정점의 번호 u,v(1u,vN;uv)u,v(1\le u,v\le N;u\neq v)가 공백으로 구분되어 주어진다.

출력

첫째 줄에 추가해야 하는 간선의 최소 개수 MM을 출력한다.

둘째 줄부터 MM개의 줄에 추가된 각 간선이 잇는 두 정점의 번호 u,v(1u,vN;uv)u,v(1\le u,v\le N;u\neq v)를 공백으로 구분하여 출력한다.

가능한 정답이 여러 가지라면 아무 것이나 하나 출력한다.

예제 입력 1

5
1 4
1 2
1 3
1 5

예제 출력 1

2
2 4
3 5

예제 입력 2

7
1 3
2 3
3 4
4 5
5 6
5 7

예제 출력 2

2
1 6
2 7
문제를 만든 사람
황현석
알고리즘 분류
코드 제출

이 문제는 현재 제출할 수 없습니다.

이 현상이 잘못되었다고 생각될 경우 관리자한테 문의주세요.

내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Platinum II1명 투표· 약 2개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.