Перемішані дерева
У вас є граф, що містить n вершин і m ребр, де кожне ребро має лічний елемент. Розглянемо, що кожне з цих елементів є рівним 0. За один крок ви можете обирати rebro, що є частиною будь-якого остового дерева, і додати до нього будь-яке значення v.
Ваша задача - визначити, чи можна доsсягти цільового значення для кожного ребра, яке вказано в масці x[i]
, за допомогоn цих операцій. Якщо це можливо, надайте послідовний опис цих операцій.
Вхідні дани
Перша частина містить три числа: n, m, і p. Це означає кількоnрійники, кількоnрійники та півпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівпівп рік.
Наступні m рядки містять по три числа: u[i]
, v[i]
, і x[i]
. Це означає, що u[i]
та v[i]
є кінцевими точками, а x[i]
- цільове значення для цього ребра.
Граф є зв'язним, і кожне ребро може бути частиною лише одного з цих дерев.
Вихідні дани
Якщо цільові значення не можуть бути досягнутими, виведіть -1.
Якщо це можливо, виведіть кільконрійники t, а потім t рядки, що описають ці операції. Кожний рядок починається з числа v, що є природним значенням для цих операцій. Потім у тому же рядку слід e[1]
, e[2]
, ..., e[n-1]
, що є частинами цього дерева.
Кільконрійники t не повинні перевищувати 2m. Ви можете повторювати ці операції, і не потрібно мінімально мінімально.