경주
시간 제한3초메모리 제한256 MB
가중치가 있는 트리에서 총 길이가 정확히 K인 경로 중 간선 수가 가장 적은 것을 찾고, 없으면 -1을 출력한다.
문제
경주대회 IOR을 위해 가장 적합한 경주 코스를 찾으려 한다.
한 지역에 개의 도시가 있고, 개의 고속도로가 이 도시들을 연결한다. 각 고속도로는 양방향이며 서로 다른 두 도시를 연결하고, 그 길이는 킬로미터 단위의 정수이다. 임의의 두 도시는 정확히 하나의 경로로만 연결된다. 즉, 도시와 고속도로는 하나의 트리를 이룬다.
경주 코스는 서로 다른 출발 도시와 도착 도시를 잇는 경로이며, 전체 길이가 정확히 킬로미터여야 한다. 충돌을 막기 위해 어떤 고속도로도 두 번 이상 사용하지 않는다(따라서 어떤 도시도 두 번 이상 방문하지 않는다). 트리에서 두 도시를 잇는 경로는 유일하므로 이 조건은 자동으로 만족된다.
교통 체증을 줄이기 위해, 전체 길이가 정확히 인 경로들 중에서 사용하는 고속도로(간선)의 수가 가장 적은 경로를 찾아야 한다.
도시는 번부터 번까지 번호가 매겨진다. 고속도로가 잇는 도시 번호는 이상 이하이고, 고속도로의 길이는 0 이상 1,000,000 이하의 정수이다. 모든 도시는 서로 연결되어 있다.
전체 길이가 정확히 인 경로 중에서 고속도로 수가 가장 적은 경로의 고속도로 수를 출력한다. 그런 경로가 존재하지 않으면 을 출력한다.
입력
첫째 줄에 도시의 수 과 경주 코스의 길이 가 공백으로 구분되어 주어진다.
이어지는 개의 줄에는 각 고속도로의 정보가 주어진다. 각 줄에는 세 정수 , , 가 주어지며, 이는 도시 와 도시 를 잇는 길이 의 고속도로를 뜻한다.
출력
전체 길이가 정확히 인 경로 중 고속도로 수가 가장 적은 경로의 고속도로 수를 한 줄에 출력한다. 그런 경로가 없으면 을 출력한다.