두 최단 경로
시간 제한5초메모리 제한1024 MB
방향 가중치 그래프에서 정점 1부터 각 정점 i까지 간선을 공유하지 않는 두 경로의 최소 비용 합을 구합니다.
문제
정점이 개, 간선이 개인 그래프가 있다. 각 간선에는 방향이 있으며, 음이 아닌 정수 가중치가 주어진다.
모든 에 대해, 1번 정점에서 번 정점으로 가는 두 개의 겹치지 않는 경로 중 비용 합의 최솟값을 구하라. 경로가 겹치지 않는다는 것은 같은 간선을 공유하지 않는다는 뜻이다. 경로의 비용은 경로에 속한 간선의 가중치를 모두 더한 값이다.
입력
첫 번째 줄에 테스트 케이스의 수 가 주어진다. 이후 개의 테스트 케이스가 새 줄로 구분되어 주어진다.
각 테스트 케이스는 다음과 같이 구성된다.
- 첫 번째 줄에 정수 , 이 주어진다.
- 이후 개의 줄에 세 정수 , , 가 주어진다. 번 정점에서 번 정점으로 가는 가중치 의 간선이 존재한다는 뜻이다.
출력
각 테스트 케이스마다 한 줄에 개의 정수를 출력하라. 번째 정수는 1번 정점에서 번 정점으로 가는 두 개의 겹치지 않는 경로 중 비용 합의 최솟값이다. 겹치지 않는 두 경로가 존재하지 않으면 -1을 출력하라.
제한
- 1번 정점에서 모든 정점으로 도달할 수 있다.
- 한 입력 파일에 대해, 의 합은 이하이다.
- 한 입력 파일에 대해, 의 합은 이하이다.