템포럴 그래프
면접 대비시간 제한1초메모리 제한1024 MB
시간 레이블이 증가하는 순서로 간선을 골라 s에서 e까지 가는 최단 경로의 길이를 구합니다.
문제
템포럴 그래프는 시간에 따라 변하는 관계를 표현하는 자료 구조이다. 템포럴 그래프의 정점 집합 는 시간이 흘러도 변하지 않는다. 정점의 개수를 이라 하면 이다. 시간 표기 는 양의 정수 의 값을 가지며, 시간 표기가 커질수록 시간이 흐른다. 각 시간 표기 에서 양의 정수 가중치를 가지는 간선들의 집합 가 정의되고, 에 포함되는 간선의 수는 모든 에서 같다. 아래 그림은 정점 집합 와 시간 표기 에서 정의된 템포럴 그래프의 예시이다.

템포럴 그래프에서 한 정점에서 다른 정점으로 가는 경로는 시간 표기가 증가하는 순서로 나타나는 간선들의 집합이다. 경로를 만들 때 각 시간 표기에서 간선을 최대 한 개 선택할 수 있으며, 경로를 이루는 간선들의 시간 표기가 연속일 필요는 없다. 위 그림의 그래프에서 간선 , , 를 각각 시간 표기 에서 선택하면 정점 에서 정점 로 가는 경로가 된다. 반면 간선 , , 를 각각 시간 표기 에서 선택하면 선택한 시간 표기가 증가하지 않으므로 정점 에서 정점 로 가는 경로가 될 수 없다. 경로의 길이는 경로에 포함된 간선 가중치의 합으로 정의한다. 간선 , 를 각각 시간 표기 에서 선택하면 정점 에서 정점 로 가는 최단 경로이며, 길이는 이다.
입력으로 템포럴 그래프와 경로의 시작 정점 , 끝 정점 가 주어질 때, 정점 에서 정점 로 가는 최단 경로의 길이를 구하는 프로그램을 작성하시오.
입력
첫 번째 줄에 정점 집합의 크기 (), 시간 표기의 범위 (), 매 시간 표기마다 정의되는 간선의 개수 ()이 차례로 주어진다. 다음 줄에는 경로의 시작 정점 와 끝 정점 ()가 차례로 주어진다. 이어지는 개의 줄에는 시간 표기 에서 정의되는 간선의 정보가 주어진다. 각 줄에는 간선이 연결하는 두 정점의 번호와 간선의 가중치 ()가 차례로 주어진다. 두 정점을 연결하는 간선이 두 개 이상 주어지는 경우는 없다. 이어지는 개의 줄에는 시간 표기 에서 정의되는 간선의 정보가 같은 방식으로 주어진다.
출력
정점 에서 정점 로 가는 최단 경로의 길이를 한 줄에 출력한다. 경로가 존재하지 않으면 을 출력한다.