아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

관광객

시간 제한1초메모리 제한512 MB

요약
가중 그래프에서 1번 도시에서 출발해 2번부터 N번 도시로 가는 최단 경로를 각각 고르고, 여러 경로에 걸쳐 다시 촬영되는 간선 가중치의 합을 최소로 만드는 값을 구한다.
난이도

어려움10점 중 8점

유형
그래프, 최단 경로, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

아기 민규는 옥토끼나라의 수도인 1번 도시에 살고 있다. 옥토끼나라는 NN개의 도시와 MM개의 양방향 도로로 이루어져 있다. 같은 도시 쌍을 연결하는 도로는 여러 개 존재하지 않고, 양 끝 도시가 같은 도로도 존재하지 않는다.

아기 민규는 1번 도시에서 출발해 2번부터 NN번 도시까지를 모두 한 번씩 방문할 예정이다. ii번째 여행에서는 1번 도시에서 출발해 i+1i+1번 도시까지 이동하면서 지나는 도로의 사진을 찍는다. 어떤 도로를 지나는 데 걸리는 시간이 tt라면 그 도로에서 tt장의 사진을 찍는다. 도착한 뒤에는 비행기를 타고 1번 도시로 돌아가 여행을 끝낸다. 이미 사진을 찍은 도로는 다시 찍지 않는다. 기름값이 아깝기 때문에, 민규는 각 여행에서 목적지까지 걸리는 시간이 가장 적은 경로로만 이동할 수 있다.

사진기가 구식이라 많은 사진을 찍으면 고장날까 봐 걱정한 민규는 최대한 적은 수의 사진을 찍고 싶다. 민규가 찍을 수 있는 사진 개수의 최솟값을 구하자. 모든 여행이 가능함은 보장된다.

입력

첫 줄에 NN과 MM이 주어진다. (1≤N,M≤5×1051 \le N, M \le 5 \times 10^5)

이어서 MM개의 줄에 도로의 정보 uu, vv, tt가 주어진다. 이는 uu번 도시와 vv번 도시를 잇는 도로가 있고 지나는 시간이 tt라는 뜻이다. (1≤u,v≤N1 \le u, v \le N, u≠vu \ne v, 1≤t≤5×1051 \le t \le 5 \times 10^5)

출력

민규가 찍을 수 있는 사진 개수의 최솟값을 출력한다.

예제2

  1. 예제 1

    입력
    5 5
    1 2 1
    2 3 2
    3 4 3
    4 5 4
    5 1 5
    
    예상 출력
    11
  2. 예제 2

    입력
    5 4
    1 2 1
    2 3 2
    3 4 3
    4 5 4
    
    예상 출력
    10