던전 크롤러
시간 제한5초메모리 제한1024 MB
가중치가 있는 트리에서 시작 방 s에서 출발해 모든 방을 방문하는 최소 시간을 구합니다. 함정 방 t보다 먼저 열쇠 방 k를 방문해야 하며, 불가능하면 impossible을 출력합니다.
문제
Alice와 Bob은 새로운 탈출방을 테스트하는 일을 맡았다. 이 탈출방에서 손님은 던전에 갇혀 던전 전체를 탐험해야 한다. 던전은 개의 방이 정확히 개의 통로로 연결되어 있다. 이 통로들을 따라 임의의 두 방 사이를 오갈 수 있다.
던전의 방 중 두 곳은 특별하다. 한 방에는 helix key라 불리는 보호 우상이 있다. 다른 방에는 dome trap이라는 까다로운 함정이 있는데, 이 함정은 한 번 작동하면 플레이어가 움직이지 못하게 만든다. 키를 얻기 전에 함정이 있는 방에 들어가면 플레이어는 던전에 영원히 갇힌다. 플레이어는 키가 있는 방이나 함정이 있는 방에서 시작할 수 없다.
시나리오는 개 있다. 번째 시나리오에서 플레이어는 방 에서 시작하고, 키는 방 에, 함정은 방 에 있다. 각 시나리오에 대해 함정에 갇히지 않고 던전 전체를 탐험하는 데 필요한 최소 시간을 구하라.
입력
첫 줄에 정수 과 가 주어진다(, ). 방은 1부터 까지 번호가 매겨진다. 다음 개의 줄에는 각각 세 정수 , , 가 주어지며, 이는 방 와 사이에 통로가 있고 이를 지나는 데 의 시간이 걸린다는 뜻이다(, , ). 이어서 개의 줄이 주어진다. 번째 줄에는 서로 다른 세 정수 , , 가 주어진다().
출력
각 시나리오마다 모든 방을 적어도 한 번 방문하는 데 필요한 최소 시간을 출력한다. 모든 방을 적어도 한 번 방문할 수 없다면 impossible을 출력한다.