#1299
Silver I
알고리즘 수업 - 너비 우선 탐색 1
시간 제한
1s
메모리 제한
512MB
제출
57
정답
17
맞힌 사람
12
정답 비율
23.1%

문제

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

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

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

입력

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

다음 MM개의 줄 중 ii번째 줄에는 간선의 양 끝점 uiu_iviv_i가 공백으로 구분되어 주어진다. (1ui<viN)(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이다.

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

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

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
#순위사용자언어시간메모리코드 길이
6432🥇
박지훈
C++31ms8316KB1010B
8605🥈
박준혁
C++35ms11004KB1067B
6431🥉
이일우
PyPy115ms78352KB826B
64084
홍진영
PyPy141ms77036KB579B
85215
강현욱
Python221ms38548KB787B
63396
표강준
Python223ms38088KB1484B
67827
김성민
Python223ms38592KB742B
64798
김현종
Python250ms38188KB891B
64909
허태유
Python288ms37680KB548B
639910
박정현
Python318ms36936KB735B
642911
이채환
Python392ms47352KB709B
646012
진원
Java557ms101256KB1627B
난이도 투표
Silver I5명 투표· 14일 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
#사용자문제결과언어시간메모리코드 길이제출 시간
8605
맞았습니다
C++35ms11004KB1067B2026. 05. 30. 11:45
8521
맞았습니다
Python221ms38548KB787B2026. 05. 29. 00:26
8520
틀렸습니다
Python--706B2026. 05. 29. 00:25
8519
런타임 에러
Python--720B2026. 05. 29. 00:24
6782
맞았습니다
Python223ms38592KB742B2026. 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
맞았습니다
Python288ms37680KB548B2026. 05. 20. 04:58
6479
맞았습니다
Python250ms38188KB891B2026. 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
맞았습니다
Java557ms101256KB1627B2026. 05. 19. 11:18
6459
틀렸습니다
Python--398B2026. 05. 19. 11:18
6458
틀렸습니다
Python--389B2026. 05. 19. 11:17
6456
틀렸습니다
Python--407B2026. 05. 19. 11:16
6450
틀렸습니다
Java--2037B2026. 05. 19. 11:11