도로
시간 제한6초메모리 제한1024 MB
도시 s에서 t로 가는 경로 중, 제거해도 나머지 도로로 모든 도시가 연결되는 경로의 최소 길이를 구합니다.
문제
나라에 개의 도시가 있고, 이 도시들은 양방향 도로 개로 연결되어 있다. 도시는 , 도로는 으로 번호가 매겨져 있다. 번 도로는 도시 와 도시 를 잇고, 길이는 미터이다. 어느 도시에서 출발하든 도로를 따라 다른 모든 도시에 갈 수 있다.
도로는 특별한 방식으로 지어져 있다. 정확히 말하면, 개의 도로를 지나는 단순 사이클(시작점을 제외하고 같은 도시를 두 번 방문하지 않는 사이클)은 로 나타낼 수 있다. 이때 모든 에 대해 도시 와 은 도로로 직접 연결되어 있고, 도시 과 도 도로로 직접 연결되어 있으며, 모든 에 대해 이다. 이면 도로는 다음 조건도 만족해야 한다. 사이클 위에 서로 인접하지 않은 두 도시가 있고, 두 도시가 도로로 직접 연결되어 있다. 즉 , 이며, 와 가 동시에 과 이 아니고, 도시 와 가 도로로 직접 연결되는 가 존재한다.
나라가 도시 와 도시 사이의 경로를 보수하려고 한다. 보수하는 동안 그 경로는 막히므로, 남은 도로만으로 어느 도시에서 출발하든 다른 모든 도시에 도달할 수 있어야 한다. 가능한 보수 경로 중 총 길이가 가장 짧은 것을 찾아라.
입력
첫째 줄에 도시의 수 과 도로의 수 이 주어진다. 이어지는 개의 줄에는 세 정수 , , 가 각각 주어지며, 이는 번 도로의 양 끝 도시와 길이이다. 각 도로는 서로 다른 두 도시를 잇는다. 마지막 줄에는 보수할 경로의 양 끝점 와 가 주어진다.
출력
조건을 만족하는 보수 경로의 최소 길이를 정수 하나로 출력한다. 가능한 경로가 없으면 을 출력한다.
제한
모든 테스트 케이스에 대해 , , , , , 이다. 두 도로의 양 끝점이 완전히 같은 경우는 없다. 도로는 문제에서 설명한 조건을 만족하도록 주어진다.