만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

간선 끊어가기 2

면접 대비

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

요약
가중 무방향 그래프와 두 정점 s, t가 주어질 때, s와 t가 분리되도록 삭제할 간선들의 총 가중치 최솟값을 구한다.
난이도

보통10점 중 6점

유형
최소 신장 트리, 그래프, 그리디, 유니온 파인드
정답자
아직 제출이 없습니다

문제

정점 nn개와 간선 mm개로 이루어진 무방향 그래프가 주어진다. 각 간선에는 가중치가 있다.

간선 목록에 있는 간선을 하나씩 골라 그래프에서 지워 나간다. 두 정점 ss와 tt가 비연결이 되는 순간 지우기를 멈춘다. 비연결이란 남은 간선만으로는 한 정점에서 다른 정점으로 갈 수 없는 상태를 말한다.

지우는 순서는 마음대로 정할 수 있다. ss와 tt가 비연결이 될 때까지 지운 간선의 가중치 합이 최소가 되도록 순서를 정했을 때, 그 합의 최솟값을 구하라. 처음부터 ss와 tt가 비연결이면 간선을 하나도 지우지 않아도 되므로 답은 0이다.

입력

첫째 줄에 정점의 개수 nn과 간선의 개수 mm이 주어진다. (2≤n≤5002 \le n \le 500, 1≤m≤100001 \le m \le 10000)

다음 mm개 줄에 각각 세 정수 aa, bb, cc가 주어진다. 정점 aa와 정점 bb를 잇는 가중치 cc짜리 간선이 있다는 뜻이다. (1≤a,b≤n1 \le a, b \le n, 1≤c≤1001 \le c \le 100, a≠ba \ne b) 같은 두 정점을 잇는 간선이 여러 개 주어질 수 있고, 이때 각 간선은 서로 다른 간선으로 취급한다.

마지막 줄에 두 정점 ss와 tt가 주어진다. (1≤s,t≤n1 \le s, t \le n, s≠ts \ne t)

출력

ss와 tt가 비연결이 되는 시점까지 지운 간선의 가중치 합의 최솟값을 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    8 9
    1 2 3
    1 3 2
    1 4 4
    2 5 2
    3 6 1
    4 7 3
    5 8 6
    6 8 2
    7 8 7
    1 8
    
    예상 출력
    6
    
  2. 예제 2

    입력
    2 1
    1 2 7
    1 2
    
    예상 출력
    7