문제
우솔이와 지현이는 낮 동안 서로 다른 장소에서 시간을 보내다, 저녁이 되어 동아리방으로 돌아가 쉬려고 한다. 두 사람은 동아리방까지 가는 데 드는 총 에너지를 최소화하기 위해 머리를 맞대기로 했다.
우솔이는 인접한 장소로 혼자 이동할 때 만큼의 에너지를 소모하고, 지현이는 인접한 장소로 혼자 이동할 때 만큼의 에너지를 소모한다. 하지만 만약 우솔이와 지현이가 같은 장소에 있다면, 두 사람이 함께 인접한 장소로 이동할 수 있으며 이때는 총 만큼의 에너지만 소모한다. 는 두 사람이 각자 이동할 때 드는 에너지의 합인 보다 훨씬 작을 수 있다. 만약 가 매우 작다면, 특정 장소에서 만나 그 이후부터 동아리방까지 함께 이동하는 것이 가장 효율적일 것이다. 물론 가 충분히 크다면, 각자 따로 이동하는 것이 최선일 수도 있다.
와 장소들 사이의 연결 상태가 주어졌을 때, 우솔이와 지현이가 모두 동아리방에 도착하기 위해 필요한 최소 에너지를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 다섯 개의 양의 정수 이 공백으로 구분되어 주어진다. (; )
은 장소의 수이며 각 장소는 번부터 번까지 번호가 매겨져 있다. 은 장소 사이를 잇는 도로의 수이다. 우솔이는 번 장소, 지현이는 번 장소에서 출발하며, 동아리방은 번 장소에 있다.
이어서 개의 줄에 걸쳐 각 도로가 잇는 두 장소의 번호가 공백으로 구분되어 주어진다. 도로는 양방향으로 통행할 수 있다. 번 장소에서 번 장소로, 그리고 번 장소에서 번 장소로 이동할 수 있는 경로가 항상 존재함이 보장된다.
출력
우솔이와 지현이가 모두 동아리방에 도착하기 위해 소모해야 하는 최소 에너지를 출력한다.
예제 입력 1
4 4 5 8 8
1 4
2 3
3 4
4 7
2 5
5 6
6 8
7 8
예제 출력 1
22
코드를 제출하려면 로그인이 필요합니다.
로그인