Designing a Tree
시간 제한2초메모리 제한1024 MB
각 정점 i(1부터 N-1까지)마다 [L_i, R_i] 범위에서 j_i를 골라 N-1개의 간선이 트리를 이루도록 하거나, 불가능하면 NO를 출력한다.
문제
개의 정점으로 이루어진 그래프가 주어진다. 각 정점은 부터 까지 순서대로 번호가 매겨져 있고, 초기에는 각 정점 사이에 간선이 없다.
이때, 각 번 정점에 대해 인 를 골라서 번 정점과 번 정점을 연결하는 무향 간선을 추가할 수 있다.
를 적절히 골라서 그래프를 트리로 만드는 프로그램을 작성해 보자.
입력
첫째 줄에 이 주어진다.
둘째 줄부터 개의 줄에 걸쳐 순서대로, 두 정수 , 가 공백으로 구분되어 주어진다.
출력
그래프를 트리로 만들 수 없다면 첫째 줄에 NO를 출력한다.
그래프를 트리로 만들 수 있다면 첫째 줄에 YES를 출력한다. 둘째 줄에는 개의 정수를 공백으로 구분해서 출력한다. 번째 정수는 를 의미한다. 정답이 여러 개라면 그중 하나만 출력한다.
힌트
트리는 무방향 사이클이 없는 연결 그래프를 의미한다.