#P12799. [NERC 2022] Jumbled Trees

[NERC 2022] Jumbled Trees

Description

给定一个有 nn 个顶点和 mm 条边的无向连通图。每条边都有一个关联的计数器,初始值等于 00。在一次操作中,你可以选择任意一个生成树,并将这个生成树中所有边的计数器都加上一个任意值 vv

请判断是否可能使每个计数器的值在模质数 pp 的意义下等于其目标值 xix_i,如果可能,请提供一组能实现目标的操作序列。

Input Format

第一行包含三个整数 nnmmpp——顶点的数量、边的数量以及一个质数模数 (1n5001 \le n \le 500; 1m10001 \le m \le 1000; 2p1092 \le p \le 10^9pp 是一个质数)。

接下来的 mm 行,每行包含三个整数 uiu_iviv_ixix_i——表示第 ii 条边的两个端点以及该边计数器的目标值 (1ui,vin1 \le u_i, v_i \le n; 0xi<p0 \le x_i < p; uiviu_i \neq v_i)。

该图是连通的。图中没有自环,但相同的两个顶点之间可能存在多条边。

Output Format

如果无法达到计数器的目标值,则输出 1\tt{-1}

否则,输出操作次数 tt,然后是 tt 行描述操作序列的内容。每行以一个整数 vv (0v<p0 \le v < p) 开始——表示本次操作的计数器增量。然后,在同一行中,跟着 n1n - 1 个整数 e1,e2,,en1e_1, e_2, \ldots, e_{n - 1} (1eim1 \le e_i \le m)——表示生成树的边。

操作次数 tt 不应超过 2m2m。你不需要最小化 tt。任何在 2m2m 限制内的正确答案都会被接受。你可以重复使用生成树。

3 3 101
1 2 30
2 3 40
3 1 50
3
10 1 2
20 1 3
30 2 3
2 2 37
1 2 8
1 2 15
2
8 1
15 2
5 4 5
1 3 1
2 3 2
2 5 3
4 1 4
-1

Hint

翻译由 gemini2.5pro 完成