기이한 여행
시간 제한6초메모리 제한2048 MB
트리 구조의 도시 n개가 주어질 때, 도로가 없는 구간을 정확히 k번 이동하는 사전순으로 가장 작은 방문 순서를 구하거나 불가능하면 -1을 출력합니다.
문제
Eddy는 개의 도시를 가로지르는 여행을 계획하고 있다. 도시들은 개의 도로로 연결되어 있다. 각 도로는 두 도시를 잇고 양방향으로 통행할 수 있다. 어떤 두 도시든 도로만으로 서로 오갈 수 있다.
Eddy는 모든 도시를 정확히 한 번씩 방문하는 여행을 원한다. 시작 도시와 마지막 도시는 어디든 상관없다. 도로만으로는 모든 도시를 정확히 한 번씩 방문하지 못할 수도 있다. 다행히 Eddy는 도로로 직접 연결되지 않은 두 도시 사이를 비행기로 이동할 수 있다. Eddy는 여행 중에 비행기를 정확히 번 타고 싶어 한다.
Eddy의 여행 계획을 도와라.
입력
첫 줄에 정수 과 가 주어진다 (). 은 Eddy가 방문하는 도시의 수이고, 는 Eddy가 타고 싶은 비행기의 횟수이다.
다음 개의 줄에는 각각 정수 와 ()가 주어진다. 이는 도시 와 도시 를 잇는 도로가 있다는 뜻이다. 어떤 도시에서든 도로만으로 다른 모든 도시에 갈 수 있다고 보장된다.
출력
Eddy가 방문하는 순서대로 도시 번호 개를 출력한다. 각 도시는 정확히 한 번씩 나타나야 하며, 여행에서 비행기는 정확히 번 사용해야 한다. 가능한 여행 경로가 여럿이면 사전순으로 가장 앞선 경로를 출력한다. 가능한 경로가 없으면 을 출력한다.