Logo
(追記) (追記ここまで)

32028번 - 이진 검색 트리 복원하기 스페셜 저지

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 (추가 시간 없음) 1024 MB (추가 메모리 없음)57817315336.516%

문제

찬솔이는 N개의 노드에 정수가 적혀있는 이진 검색 트리를 만들었다. 이진 검색 트리는 모든 노드 i에 대해서, i의 왼쪽 자손 노드에 적힌 수는 모두 i에 적힌 수보다 작고, i의 오른쪽 자손 노드에 적힌 수는 모두 i에 적힌 수보다 큰 이진 트리이다.

찬솔이는 모든 i에 대해서 이진 검색 트리의 i번 노드의 깊이 Hi와 이진 검색 트리의 i번 노드에 적힌 정수 Ai를 기록해두었다. 이때, Ai는 모두 다르고 루트 노드의 깊이는 1이다. (1 ≤ iN)

찬솔이는 ICPC World Finals에 다녀오는 동안 이진 검색 트리를 잃어버렸다. 찬솔이를 위해 이전에 기록해둔 정보를 이용하여 이진 검색 트리를 복원해주자.

입력

첫 줄에 노드의 개수 N이 주어진다. (1 ≤ N ≤ 200 000)

둘째 줄부터 N개의 줄에 걸쳐 트리의 노드 정보가 주어진다. 모든 1 ≤ iN에 대해, (i + 1)번째 줄에는 i번 노드에 적힌 정수 Aii번 노드의 깊이 Hi가 공백으로 구분되어 주어진다. (−2 ⋅ 109Ai ≤ 2 ⋅ 109; 1 ≤ HiN) Ai는 모두 다르다.

출력

만약 주어진 기록으로 이진 검색 트리를 복원할 수 없다면 −1을 출력한다.

복원할 수 있다면 트리의 구조를 N개의 줄에 걸쳐 출력한다.

i번째 줄에는 i번 노드의 왼쪽 자식과 오른쪽 자식의 노드 번호를 출력한다. 자식이 없으면 자식의 노드 번호로 −1을 출력한다.

만약 복원할 수 있는 트리가 여러 개라면 아무거나 복원해도 된다.

제한

예제 입력 1

3
1 2
2 1
3 2

예제 출력 1

-1 -1
1 3
-1 -1

예제 입력 2

3
1 1
2 2
3 2

예제 출력 2

-1

예제 입력 3

3
2 2
5 3
4 2

예제 출력 3

-1

예제 입력 4

3
100 2
200 1
300 2

예제 출력 4

-1 -1
1 3
-1 -1

힌트

출처

University > 전국 대학생 프로그래밍 대회 동아리 연합 > UCPC 2024 예선 D번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /