[문제]
동빈이는 숨바꼭질을 하면서 술래로부터 잡히지 않도록 숨을 곳을 찾고 있습니다. 동빈이는 1 ~ N번까지의 헛간 중에서
하나를 골라 숨을 수 있으며, 술래는 항상 1번 헛간에서 출발합니다. 전체 맵에는 총 M개의 양방향 통로가 존재하며,
하나의 통로는 서로 다른 두 헛간을 연결합니다. 또한 전체 맵은 항상 어떤 헛간에서 다른 어떤 헛간으로 도달이 가능한
형태로 주어집니다.
동빈이는 1번 헛간으로부터 최단 거리가 가장 먼 헛간이 가장 안전하다고 판단하고 있습니다. 이때 최단 거리의 의미는
지나야 하는 길의 최소 개수를 의미합니다. 동빈이가 숨을 헛간의 번호를 출력하는 프로그램을 작성하세요.
[입력조건]
- 첫째 줄에는 N과 M이 주어지며, 공백으로 구분합니다. (2 <= N <= 20,000), (1 <= M <= 50,000)
- 이후 M개의 줄에 걸쳐서 서로 연결된 두 헛간 A와 B의 번호가 공백으로 구분되어 주어집니다. (1 <= A, B <= N)
[출력조건]
- 첫 번째는 숨어야 하는 헛간 번호를(만약 거리가 같은 헛간이 여러 개면 가장 작은 헛간 번호를 출력합니다.), 두 번째는 그 헛간까지의 거리를, 세 번째는 그 헛간과 같은 거리를 갖는 헛간의 개수를 출력해야 합니다.
입력예시
6 7
3 6
4 3
3 2
1 3
1 2
2 4
5 2
출력예시
4 2 3
'Algorithm > 이.코.테문제' 카테고리의 다른 글
08_02 [연습문제] 사이클 판별 (0) | 2023.06.13 |
---|---|
08_01 [연습문제] 서로소 집합 알고리즘 (0) | 2023.06.13 |
07_07 [기출문제] 화성 탐사 (0) | 2023.06.13 |
07_06 [기출문제] 정확한 순위 (0) | 2023.06.13 |
07_05 [기출문제] 플로이드 (0) | 2023.06.13 |