AT_arc225_c [ARC225C] K Spanning Tree

题目描述

给定一个简单连通无向图 $G$ ,包含 $N$ 个顶点和 $M$ 条边。第 $i$ 条边连接顶点 $a_i$ 和 $b_i$,权重为 $c_i$。每条边的权重要么是 $0$,要么是 $1$。 给定一个非负整数 $K$。请判断是否存在一棵 $G$ 的生成树,使得生成树所包含的边的权值之和恰好等于 $K$,如果存在,输出一种满足要求的生成树。 共给出 $T$ 组测试数据;请依次解决每组数据。

输入格式

输入按以下格式给出: > $T$ > $\text{case}_1$ > $\text{case}_2$ > $\vdots$ > $\text{case}_T$ 每组数据格式如下: > $N$ $M$ $K$ > $a_1$ $b_1$ $c_1$ > $a_2$ $b_2$ $c_2$ > $\vdots$ > $a_M$ $b_M$ $c_M$

输出格式

输出 $T$ 行,第 $i$ 行为该测试用例的答案。 如果不存在满足条件的生成树,输出 `-1`。 否则,设 $x_1, x_2, \cdots, x_{N-1}$ 是该生成树所用的边的编号,请以如下格式输出: > $x_1$ $x_2$ $\cdots$ $x_{N-1}$ $ x_1, x_2, \cdots, x_{N-1}$ 的顺序任意。这里的编号是指在每组输入中的边的编号。如果有多种选择,输出任意一种都可。

说明/提示

### 样例解释 1 对于第一组数据,选择第 $1,4,5$ 条边组成的图构成一棵生成树,且这些边的权值和为 $2$,满足条件。 类似地,输出如 `2 4 5` 或 `4 1 5` 也是可行的。 对于第二组数据,该图任意生成树边权之和都无法为 $1$。 ### 数据范围 - $1 \le T \le 10^5$ - $2 \le N \le 2\times 10^5$ - $N-1 \le M \le \min\left(\frac{N(N-1)}{2}, 2\times 10^5\right)$ - $0 \le K \le N-1$ - $1 \le a_i, b_i \le N$ - $c_i=0$ 或 $c_i=1$ - 图 $G$ 保证简单且连通。 - 所有测试用例的 $N$ 之和不超过 $2\times 10^5$。 - 所有测试用例的 $M$ 之和不超过 $2\times 10^5$。 - 所有输入均为整数。 由 ChatGPT 5 翻译