S에서 T로 가는 최단 경로 하나를 무료로 지정한 뒤, 그 경로의 간선은 0원, 나머지는 요금을 내는 조건에서 U에서 V로 가는 최소 비용을 구한다.
어려움8그래프최단 경로동적 계획법아직 제출이 없습니다시간 제한2초메모리 제한256 MBJOI 군이 사는 도시에는 역이 N개 있다. 역에는 1부터 N까지 번호가 붙어 있다. 철도 노선은 M개이고, 1부터 M까지 번호가 붙어 있다. 노선 i (1≤i≤M)는 역 Ai와 역 Bi를 양방향으로 잇고, 요금은 Ci엔이다.
JOI 군은 역 S 근처에 살고, 역 T 근처에 있는 IOI 고등학교에 다닌다. 그래서 두 역을 잇는 정기권을 사려고 한다. 정기권을 살 때는 역 S와 역 T 사이의 경로 중 비용이 최소인 경로를 하나 골라야 한다. 이 정기권이 있으면 고른 경로에 포함된 노선은 어느 방향으로든 추가 요금 없이 탈 수 있다.
JOI 군은 역 U와 역 V 근처의 서점에도 자주 간다. 그래서 역 U에서 역 V까지 가는 비용이 최소가 되도록 정기권을 사고 싶다.
역 U에서 역 V로 갈 때는 먼저 역 U에서 역 V까지의 경로를 하나 고른다. 그 경로에 포함된 각 노선 i의 요금은 다음과 같다.
이 요금의 합이 역 U에서 역 V까지의 비용이다.
정기권을 살 때 경로를 알맞게 고른다고 할 때, 역 U에서 역 V까지의 최소 비용을 구하는 프로그램을 작성하시오.
표준 입력에서 다음 데이터를 읽는다.
표준 출력에 한 줄을 출력한다. 정기권을 살 때 경로를 알맞게 골랐을 때 역 U에서 역 V까지 가는 최소 비용을 출력한다.