개미억장와르르맨션
시간 제한2초메모리 제한1024 MB
0번 둥지에서 1번부터 N번 둥지까지 모두 잇는 최소 위험도 경로 집합을 구하고, 그중 최소 체력 소모량을 출력합니다. 도달할 수 없는 둥지가 있으면 -1을 출력합니다.
문제
개미 왕국에는 개의 개미굴이 있으며, 각 개미굴은 번부터 번까지 차례대로 번호가 붙어 있다. 서로 다른 두 개미굴을 잇는 양방향 길이 개 있다. 어느 날 폭우가 쏟아진 뒤 개미 왕국은 붕괴 위기에 놓였고, 모든 길의 붕괴 위험도를 측정하였다. 번 길의 붕괴 위험도는 이다. 기본적으로 모든 길의 위험도는 서로 다르다. 다만 번 개미굴과 직접 이어진 길들은 위험도가 같을 수 있다.
그렇다면 개미굴은 안전할까?
현재 번 개미굴에 번부터 번까지 번호가 붙은 개미 마리가 모여 있다. 번 개미는 번 개미굴이 안전한지 확인하기 위해 여정을 떠난다. 개미들은 여정에서 이용하는 길들의 위험도 합이 최소가 되도록 이동하려 한다. 즉, 마리의 개미가 이용하는 길 번호들의 집합을 라 할 때, 다음 값 를 최소화하려 한다.
개미는 길을 하나 이용할 때마다 체력을 만큼 소모한다. 가 최소일 때 개미들이 소모하는 체력의 합이 최소가 되도록 개미들을 도와주자.
입력
첫째 줄에 과 이 공백을 두고 주어진다.
이후 개의 줄에는 길의 정보 , , 가 공백을 두고 주어진다. 번 개미굴과 번 개미굴을 잇는 길의 위험도가 라는 뜻이다.
출력
가 최소일 때, 개미들이 소모할 체력 합의 최솟값을 출력하시오. 단, 개의 개미굴을 모두 점검할 수 없다면 을 출력한다.