두 최단 경로

아직 제출이 없습니다시간 제한5초메모리 제한1024 MB

문제

NN 개의 정점과 MM 개의 간선이 있는 그래프가 있다. 각 간선에는 방향성이 있으며, 음이 아닌 정수 가중치를 가진다.

모든 2iN2 \le i \le N 에 대해서, 1번 정점에서 ii 번 정점으로 가는 두 개의 겹치지 않는 경로들 중, 비용 합의 최솟값을 계산하라. 경로가 겹치지 않는다는 것은, 같은 간선을 공유하지 않는다는 것이다. 경로의 비용은, 경로에 속하는 간선의 가중치를 전부 합한 값이다.

입력

첫 번째 줄에 테스트 케이스의 수 TC가 주어진다. 이후 TC개의 테스트 케이스가 새 줄로 구분되어 주어진다. 각 테스트 케이스는 다음과 같이 구성되었다.

  • 첫 번째 줄에 정수 N,MN, M이 주어진다.
  • 이후 MM 개의 줄에 세 정수 u_i,v_i,w_iu\_i, v\_i, w\_i 가 주어진다. u_iu\_i 번 정점에서 v_iv\_i 번 정점으로 가는 가중치 w_iw\_i 의 간선이 존재한다는 뜻이다.

출력

각 테스트 케이스 마다 한 줄에 N1N-1 개의 정수를 출력하라. 이 중 ii 번째 정수는, 1번 정점에서 i+1i+1 번 정점으로 가는 두 개의 겹치지 않는 경로들 중, 비용 합의 최솟값을 뜻한다. 만약 두 개의 겹치지 않는 경로가 존재하지 않는다면 -1을 출력하라.

제한

  • 1u_i, v_iN1 \le u\_i , v\_i \le N
  • u_iv_iu\_i \neq v\_i
  • ij    (u_i,v_i)(u_j,v_j)i \neq j \iff (u\_i, v\_i) \neq (u\_j, v\_j)
  • 0w_i1090 \le w\_i \le 10^9
  • 1번 정점에서 모든 정점으로 도달할 수 있다. 
  • 한 입력 파일에 대해, NN 의 합은 100,000100\\,000 이하이다.
  • 한 입력 파일에 대해, MM 의 합은 1,000,0001\\,000\\,000 이하이다.