QOJ.ac

QOJ

时间限制: 3 s 内存限制: 1024 MB 总分: 100

#5208. 混乱的树

统计

给定一个包含 $n$ 个顶点和 $m$ 条边的无向连通图。每条边都有一个关联的计数器,初始值均为 $0$。在一次操作中,你可以选择任意一棵生成树,并将该生成树中所有边的计数器加上任意值 $v$。

请判断是否能使每条边的计数器值模素数 $p$ 后等于其目标值 $x_i$,如果可以,请给出实现该目标的操作序列。

输入格式

第一行包含三个整数 $n, m, p$ —— 顶点数、边数和素数模数($1 \le n \le 500$;$1 \le m \le 1000$;$2 \le p \le 10^9$,$p$ 为素数)。

接下来 $m$ 行,每行包含三个整数 $u_i, v_i, x_i$ —— 第 $i$ 条边的两个端点以及该边计数器的目标值($1 \le u_i, v_i \le n$;$0 \le x_i < p$;$u_i \neq v_i$)。

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

输出格式

如果无法达到计数器的目标值,输出 -1。

否则,输出 $t$ —— 操作次数,随后输出 $t$ 行,描述操作序列。每行以整数 $v$($0 \le v < p$)开头,表示该次操作的增量。随后在同一行中,输出 $n - 1$ 个整数 $e_1, e_2, \dots, e_{n-1}$($1 \le e_i \le m$),表示生成树包含的边。

操作次数 $t$ 不应超过 $2m$。你不需要最小化 $t$。任何在 $2m$ 限制内的正确答案均可被接受。允许重复使用相同的生成树。

样例

样例输入 1

3 3 101
1 2 30
2 3 40
3 1 50

样例输出 1

3
10 1 2
20 1 3
30 2 3

样例输入 2

2 2 37
1 2 8
1 2 15

样例输出 2

2
8 1
15 2

样例输入 3

5 4 5
1 3 1
2 3 2
2 5 3
4 1 4

样例输出 3

-1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.