얼어붙은 스프링클러
면접 대비시간 제한3초메모리 제한128 MB
중앙 노드에서 잎 스프링클러로 물이 흐르지 않도록 최소 힘으로 파이프를 차단합니다.
문제
이번 겨울은 100년 만에 가장 춥다고 한다. 해빈시는 겨울 동안 공원이 망가지지 않도록 미리 손을 쓰기로 했다. 가장 먼저 할 일은 스프링클러에 남은 물을 빼내는 것이다.
우물에서 끌어올린 물은 중앙 노드로 들어온 뒤 파이프를 타고 이웃한 노드로 흘러간다. 모든 노드는 스프링클러이거나 물을 나누어 보내는 내부 노드이다.
- 우물과 곧바로 이어진 중앙 노드를 빼면, 모든 노드에는 물을 공급받는 파이프가 정확히 하나 있다.
- 모든 내부 노드에는 다른 노드로 물을 내보내는 파이프가 하나 이상 있다. 즉 스프링클러에는 물을 내보내는 파이프가 없다.
- 파이프마다 밸브가 달려 있어서 밸브를 잠그면 그 파이프로는 물이 흐르지 않는다. 밸브를 잠그는 데 드는 힘은 파이프마다 다르다.
해빈시 공무원 신해빈은 스프링클러 배관을 훤히 꿰고 있고 밸브마다 잠그는 데 드는 힘도 알고 있다.
게으른 해빈이는 밸브 몇 개만 잠가서 모든 스프링클러에 물이 닿지 않게 만들려고 한다. 물론 들이는 힘은 최소로 하고 싶다.
힘이 얼마나 필요할까?
입력
입력은 여러 개의 테스트 케이스로 이루어지며 파일의 끝까지 이어진다.
각 테스트 케이스의 첫 줄에 노드의 개수 ()과 중앙 노드의 번호 ()가 주어진다.
다음 개의 줄에는 파이프 하나의 정보를 나타내는 세 정수 , ()와 ()가 주어진다. 번 노드와 번 노드를 잇는 파이프가 있고 그 파이프의 밸브를 잠그는 데 힘이 만큼 든다는 뜻이다.
개의 파이프는 모든 노드를 잇는 트리를 이룬다.
출력
각 테스트 케이스마다 모든 스프링클러에 물이 더 이상 흘러들지 않게 만드는 데 필요한 힘의 최솟값을 한 줄에 출력한다.