설명
정점 \(N\)개와 간선 \(M\)개로 이루어진 무방향 가중치 그래프가 주어진다(모든 가중치는 양수). 정점 \(S\)에서 정점 \(T\)까지의 두 번째 최단 경로의 길이, 즉 최단 경로 길이보다 엄밀히 큰 경로 길이 중 가장 작은 값을 출력하시오. 경로는 정점과 간선을 반복해도 된다. 그러한 값이 존재하지 않으면 -1을 출력한다.
제약
입력 형식
첫째 줄에 \(N\)과 \(M\)이 주어진다 (\(2 \le N \le 60\), \(1 \le M \le 200\)). 다음 \(M\)개의 줄에는 무방향 간선 \(u\ v\ w\)가 주어진다 (\(1 \le w \le 50\)). 마지막 줄에는 \(S\)와 \(T\)가 주어진다 (\(S \ne T\)).
출력 형식
\(S\)에서 \(T\)까지의 두 번째 최단 경로의 길이를 출력하고, 없으면 -1을 출력한다.
예제 1
입력
4 5
1 2 1
2 4 1
1 3 1
3 4 1
1 4 3
1 4
출력
3
예제 2
입력
2 1
1 2 5
1 2
출력
15
예제 3
입력
3 3
1 2 2
2 3 2
1 3 3
1 3
출력
4
문제 정보
riseoj 작성
출처 RiseOJ Basics
태그