#167
Diamond V
Designing a Tree
스페셜 저지
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

NN개의 정점으로 이루어진 그래프가 주어진다. 초기에는 각 정점 사이에 간선이 없다.

이때, 각 i(1iN1)i(1≤i≤N-1)번 정점에 대해서, LijiRi(1LiRiN)L_i≤j_i≤R_i(1≤L_i≤R_i≤N)jij_i를 골라서 ii번 정점과 jij_i번 정점을 연결하는 무향 간선을 추가할 수 있다.

jij_i를 적절히 골라서 그래프를 트리(무방향 사이클이 없는 연결 그래프)로 만드는 프로그램을 작성해 보자.

입력

첫째 줄에 NN이 주어진다. (2N500000)(2 ≤ N ≤ 500\,000)

둘째 줄부터 N1N - 1개의 줄에, ii번째 줄에는 Li,RiL_i, R_i가 공백으로 구분되어 주어진다. (1LiRiN)(1≤L_i≤R_i≤N)

출력

그래프를 트리로 만들 수 없다면 첫째 줄에 NO를 출력한다.

그래프를 트리로 만들 수 있다면 첫째 줄에 `YES를 출력한다. 둘째 줄에는 N1N - 1개의 정수를 공백으로 구분해서 출력한다. ii번째 정수는 jij_i를 의미한다. 정답이 여러 개라면 그중 하나만 출력한다.

예제 입력 1

5
2 3
2 4
1 1
4 5

예제 출력 1

YES
2 4 1 5

예제 입력 2

3
2 2
1 1

예제 출력 2

NO

예제 입력 3

5
1 5
1 5
1 5
1 5

예제 출력 3

YES
2 4 5 3

노트

트리는 무방향 사이클이 없는 연결 그래프를 의미한다.

문제를 만든 사람
조서현
알고리즘 분류
코드 제출

코드를 제출하려면 로그인이 필요합니다.

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