#1299
Silver I

알고리즘 수업 - 너비 우선 탐색 1

시간 제한
1s
메모리 제한
512MB
제출
61
정답
19
맞힌 사람
14
정답 비율
25.0%

문제

NN개의 정점과 MM개의 간선으로 구성된 무방향 그래프가 주어집니다. 정점 번호는 1번부터 NN번까지이고, 모든 간선의 가중치는 1입니다.

시작 정점 RR에서 시작하여 넓이 우선 탐색(BFS)으로 그래프의 정점들을 방문할 때, 각 정점의 방문 순서를 구하는 프로그램을 작성하세요.

단, 인접한 정점들을 방문할 때는 정점 번호가 작은 것을 먼저 방문(오름차순 방문)해야 합니다.

입력

첫째 줄에 정점의 수 NN, 간선의 수 MM, 시작 정점 RR이 공백으로 구분되어 주어진다. (5≤N≤100,000;1≤M≤200,000;1≤R≤N)(5 \le N \le 100,000; 1 \le M \le 200,000; 1 \le R \le N)

다음 MM개의 줄 중 ii번째 줄에는 간선의 양 끝점 uiu_i와 viv_i가 공백으로 구분되어 주어진다. (1≤ui<vi≤N)(1 \le u_i < v_i \le N)

모든 간선의 (ui,vi)(u_i, v_i) 쌍은 서로 다르며, 무방향 간선이다.

출력

첫째 줄부터 NN개의 줄에 걸쳐 정답을 출력한다. ii번째 줄에는 정점 ii의 방문 순서를 출력한다. 시작 정점 RR의 방문 순서는 1이다.

단, 시작 정점에서 방문할 수 없는 정점의 경우 0을 출력한다.

예제 입력 1

5 5 1
1 2
1 4
2 3
2 4
3 4

예제 출력 1

1
2
4
3
0

힌트

시작 정점은 1번이다. 1번 정점과 인접한 정점은 2번, 4번이다. 오름차순으로 방문하므로 2번을 방문하고(방문 순서 2), 4번을 방문한다(방문 순서 3). 그 다음 2번 정점과 인접한 정점 중 아직 방문하지 않은 3번을 방문한다(방문 순서 4). 모든 인접한 정점을 방문한 후에도 5번 정점은 도달할 수 없으므로 방문 순서는 0이 된다.

따라서 정점 1, 2, 3, 4, 5의 방문 순서는 각각 1, 2, 4, 3, 0이다.

문제를 만든 사람
표강준
알고리즘 분류
코드 제출

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

로그인
내 제출

제출 내역이 없습니다.

맞은 사람
#순위사용자언어시간메모리코드 길이
8605🥇
박준혁
C++46ms11220KB1067B
6430🥈
박지훈
C++56ms8532KB990B
9004🥉
안우진
PyPy179ms78388KB597B
64314
이일우
PyPy181ms78036KB826B
64085
홍진영
PyPy201ms77244KB579B
90976
이재준
Python321ms37392KB760B
67827
김성민
Python387ms38928KB742B
85218
강현욱
Python423ms38952KB787B
63399
표강준
Python436ms39104KB1484B
647910
김현종
Python474ms39036KB891B
642911
이채환
Python571ms47304KB709B
649012
허태유
Python655ms38236KB548B
639913
박정현
Python728ms37884KB735B
646014
진원
Java848ms140416KB1627B
난이도 투표
Silver I5명 투표· 6개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
#사용자문제결과언어시간메모리코드 길이제출 시간
9097
맞았습니다
Python321ms37392KB760B2026. 06. 24. 04:30
9096
틀렸습니다
Python--793B2026. 06. 24. 04:18
9004
맞았습니다
PyPy179ms78388KB597B2026. 06. 13. 16:50
9003
틀렸습니다
PyPy--549B2026. 06. 13. 16:49
8605
맞았습니다
C++46ms11220KB1067B2026. 05. 30. 11:45
8521
맞았습니다
Python423ms38952KB787B2026. 05. 29. 00:26
8520
틀렸습니다
Python--706B2026. 05. 29. 00:25
8519
런타임 에러
Python--720B2026. 05. 29. 00:24
6782
맞았습니다
Python387ms38928KB742B2026. 05. 23. 16:17
6781
컴파일 에러
Python--26B2026. 05. 23. 16:16
6780
틀렸습니다
Python--987B2026. 05. 23. 15:45
6779
틀렸습니다
Python--950B2026. 05. 23. 15:44
6778
런타임 에러
Python--977B2026. 05. 23. 15:39
6490
맞았습니다
Python655ms38236KB548B2026. 05. 20. 04:58
6479
맞았습니다
Python474ms39036KB891B2026. 05. 19. 11:42
6478
런타임 에러
Python--891B2026. 05. 19. 11:41
6477
런타임 에러
Python--879B2026. 05. 19. 11:33
6476
런타임 에러
Python--880B2026. 05. 19. 11:33
6462
틀렸습니다
Java--2248B2026. 05. 19. 11:18
6460
맞았습니다
Java848ms140416KB1627B2026. 05. 19. 11:18