6057 : 레벨별 순회
•시간제한: 1.000 S
•메모리제한: 256 MB
•제출: 0
•통과: 0
•만든사람: suakii
문제 설명
N개의 노드로 이루어진 트리가 주어진다. 각 노드의 부모 번호가 주어질 때 (루트는 0), 레벨(깊이)별로 노드를 출력하시오.
같은 레벨의 노드는 번호 순으로 출력합니다.
[제약 조건]
• 노드 수 $N$: $1 \le N \le 1{,}000$ (정수)
• 루트의 부모는 0으로 표시됩니다.
같은 레벨의 노드는 번호 순으로 출력합니다.
[제약 조건]
• 노드 수 $N$: $1 \le N \le 1{,}000$ (정수)
• 루트의 부모는 0으로 표시됩니다.
입력 설명
첫째 줄에 N (1 ≤ N ≤ 1,000).
둘째 줄에 1번~N번 노드의 부모 번호 N개 (루트의 부모=0).
둘째 줄에 1번~N번 노드의 부모 번호 N개 (루트의 부모=0).
출력 설명
각 레벨에 속한 노드를 레벨별로 줄을 바꾸어 출력합니다.
입력 예시
COPY
복사되었습니다!
복사되었습니다!
7
0 1 1 2 2 3 3
출력 예시
COPY
복사되었습니다!
복사되었습니다!
1
2 3
4 5 6 7
도움
BFS를 이용하면 자동으로 레벨 순서대로 방문합니다. 각 레벨의 시작/끝을 큐 크기로 판별합니다.