아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Дороги

시간 제한2초메모리 제한1024 MB

요약
유료 도로와 무료 도로가 섞인 연결 다중 그래프에서 유료 도로를 정확히 k개 포함하는 신장 트리를 찾아 출력하거나, 불가능하면 -1을 출력한다.
난이도

보통10점 중 7점

유형
그래프, 유니온 파인드, 그리디, 최소 신장 트리
정답자
아직 제출이 없습니다

문제

В некой стране есть nn городов и mm двусторонних дорог, причем по этим дорогам можно добраться из любого города в любой. Каждая дорога в этой стране либо платная, либо бесплатная. За проезд по бесплатной дороге, как следует из названия, %К.О. путешественники не платят ничего, за проезд по платной дороге каждый путешественник платит некую круглую сумму, которая поступает в казну Министерства управления дорогами. Казна тратится на поддержание работоспособности дорог и некоторые другие нужды.

Некоторое время назад Министерством был издан указ об оптимизации дорожного хозяйства страны с целью сокращения той части бюджета, которая тратится на поддержание работоспособности этого самого хозяйства. Единственным разумным способом оптимизации оказалось закрытие нескольких дорог. Конкретнее, было решено оставить во всей стране ровно n−1n-1 дорогу таким образом, чтобы из любого города по-прежнему можно было добраться куда угодно. Кроме того, платных дорог среди оставленных должно быть ровно kk --- достаточное число, чтобы пополнять казну Министерства и не причинить неудобств народу страны.

Вам поручено разработать генеральный план этой оптимизации, то есть указать, какие именно дороги следует оставить.

입력

Первая строка входного файла содержит три целых числа nn, mm и kk(1≤k<n≤1000001 \le k < n \le 100000, 1≤m≤2000001 \le m \le 200000) --- количество городов, количество дорог и количество платных дорог, которые должны остаться. Следующие mm строк содержат описания дорог. Описание дороги состоит из трех целых чисел --- a_ia\_i, b_ib\_i и c_ic\_i(1≤a_i,b_i≤n1 \le a\_i, b\_i \le n, 0≤c_i≤10 \le c\_i\le 1) --- два города, соединенные этой дорогой, и тип дороги, где 00 означает, что дорога бесплатна, а 11 --- что за проезд по ней необходимо платить. Никакая дорога не соединяет город с самим собой, однако два города может соединять более чем одна дорога.

출력

В выходной файл выведите n−1n - 1 целых чисел, разделенных пробелами --- номера дорог, которые необходимо оставить. Если ответов несколько --- выведите любой возможный. Номера дорогам присвоены соответственно порядку, в котором они даны во входном файле, дороги нумеруются с 1. Если решения не существует, выведите единственное число <<−1-1>>

예제1

  1. 예제 1

    입력
    3 3 1
    1 2 0
    2 3 0
    3 1 1
    
    예상 출력
    1 3