문제 분류 수업 진도 대회 채점현황 순위 질문게시판
게임
스도쿠 타이핑 리듬 타자게임 타이핑 테트리스 타이핑 인베이더 타이핑 지뢰찾기 8192 공룡게임 타이핑 플래피버드 랭킹
로그인

6088 : 그래프 표현 — 인접행렬·인접리스트 DFS

•시간제한: 1.000 S •메모리제한: 256 MB •제출: 0 •통과: 0 •만든사람: suakii

6088 : 그래프 표현 — 인접행렬·인접리스트 DFS

시간 1.000s · 메모리 256MB · 제출 0 · 정답 0

문제 설명

정점 N개와 간선 E개로 구성된 무방향 그래프가 주어집니다. 이 그래프를 각각 인접 행렬과 인접 리스트 방식으로 표현하고, 1번 노드에서 시작하는 DFS(깊이 우선 탐색)를 수행하여 방문 순서를 출력하는 프로그램을 작성하십시오.

탐색 규칙:
1. 인접 행렬 DFS: 현재 노드에서 갈 수 있는 정점 중 번호가 작은 정점부터 방문합니다.
2. 인접 리스트 DFS: 간선이 주어지는 순서대로 인접 리스트에 추가되며, 인접 리스트에 삽입된 순서대로 방문합니다.
3. 두 DFS 모두 재귀 호출 방식을 사용하며, 이미 방문한 정점은 다시 방문하지 않습니다.

[제약 조건]
• 정점 수 $N$: $1 \le N \le 1{,}000$ (정수)
• 간선 수 $M$: $0 \le M \le 5{,}000$ (정수)
• 시작 정점 $V$: $1 \le V \le N$

입력 설명

첫째 줄에 정점의 개수 N (1 ≤ N ≤ 1,000)과 간선의 개수 E (0 ≤ E ≤ 10,000)가 공백을 사이에 두고 주어집니다.
둘째 줄부터 E개의 줄에 걸쳐 간선을 이루는 두 정점 u와 v가 주어집니다. (1 ≤ u, v ≤ N)

출력 설명

첫째 줄에 인접 행렬 방식으로 탐색한 DFS 방문 정점 번호들을 공백으로 구분하여 출력합니다.
둘째 줄에 인접 리스트 방식으로 탐색한 DFS 방문 정점 번호들을 공백으로 구분하여 출력합니다.

입력 예시
COPY
복사되었습니다!

4 4
1 2
1 3
2 4
3 4

출력 예시
COPY
복사되었습니다!

1 2 4 3
1 2 4 3

도움

인접 리스트 구현 시 각 노드에 연결된 노드를 순서대로 저장하고 탐색에 사용하십시오. 인접 행렬에서는 N x N 배열을 탐색하므로 자동으로 정점 번호 순서로 접근하게 됩니다.

출처/분류

NOTICE  —  BFStudy OJ 정보샘
애들아, 문제 많이 풀고 게임 잠깐 하는거지?
— 정보샘