고슴도치 허리
면접 대비시간 제한5초메모리 제한2048 MB
1번 교차로에서 n번 교차로까지 가는 경로 중 모든 교차로에 슈퍼 버섯이 있는 가장 짧은 경로를 찾고, 그 경로의 교차로 개수를 출력합니다.
문제
Hurry는 버섯 왕국에 사는 고슴도치다. 그는 악당 Donkey Kong에게 잡힌 Plum 공주를 구하러 간다. 공주에게 가려면 Hurry가 하이퍼스페이스 도로망을 달려야 한다. 이 도로는 위험하다. 두 교차로 사이의 도로를 하나 지날 때마다 Space Invaders의 공격을 받는다. 일부 교차로에는 Hurry의 체력을 회복시켜 주는 슈퍼 버섯이 있다.
경로에 있는 모든 교차로에서 슈퍼 버섯을 먹을 수 있도록 도로망에서 가장 짧은 경로를 찾아라.
입력
교차로는 부터 까지 번호가 매겨져 있다. Hurry는 교차로 에서 출발하여 교차로 까지 달려야 한다.
입력은 다음과 같다.
- 정수 3개가 한 줄에 주어진다: 는 교차로의 수, 은 도로의 수, 은 슈퍼 버섯의 수이다.
- 개의 정수가 한 줄에 주어진다: 슈퍼 버섯이 있는 교차로의 번호이다. 교차로 과 에는 항상 슈퍼 버섯이 있으므로 이 목록에는 없다.
- 정수 2개씩 줄에 걸쳐 주어지며, 각 줄은 해당 번호의 두 교차로 사이에 도로가 있음을 뜻한다.
출력
Hurry가 달려야 하는 경로에 포함된 교차로의 개수를 한 줄에 정수 하나로 출력한다.