#P9392. 黄玫瑰

    ID: 10286 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度提高 上传者: 标签>洛谷原创Special JudgeO2优化洛谷月赛

黄玫瑰

题目描述

给定一张包含 nn 个点的简单有向无环图 GG,点 ii 的点权设为 wiw_i,但点权不是给定的。

你需要构造一个包含至多 2×n2\times n 个点和恰好 nn 条边的有向无环图 G′G',你需要为 G′G' 的每条边钦定某个 wiw_i 作为它的边权,使得 G′G' 和 GG 的最长路长度相等。

在 GG 中一条路径的长度定义为其中所有点权和,G′G' 中则为所有边权和。

然而,所有 wiw_i 都不是给定的,所以你构造的 G′G' 需要满足:对于任何一种可能的正数序列 [w1,…,wn][w_1,\ldots,w_n],GG 和 G′G' 的最长路长度都要相等。

请构造 G′G',或说明它不存在。

输入格式

第一行:两个整数 n,mn,m。

接下来 mm 行:每行两个整数 x,yx,y,表示存在一条点 xx 到点 yy 的有向边。

输出格式

如果不存在满足题意的 G′G',则输出一行一个 −1-1。

否则,输出 n+1n+1 行:

第一行:一个整数 NN,表示你构造的 G′G' 的点数。

接下来 nn 行:每行三个整数 x,y,zx,y,z,表示 G′G' 中存在一条点 xx 到点 yy 的边,边权等于 wzw_z。

你需要保证 0≤N≤2×n0\leq N\leq 2\times n,1≤x,y≤N1\leq x,y\leq N,1≤z≤n1\leq z\leq n。

若有多种可能的解,任意输出一个即可。

7 8
1 2
1 3
2 3
2 6
3 4
5 2
5 7
6 7

7
1 2 1
1 2 5
2 3 2
3 4 3
3 5 6
4 6 4
5 7 7

7 8
1 2
2 3
2 6
4 5
4 7
5 3
7 3
7 6

-1

提示

【样例 #1 解释】

如下图,左为 GG,右为 G′G',颜色相同的点/边表示权值相同:

注意这只是一种可能的答案,其他正确的答案也可通过。


【样例 #2 解释】

下图为 GG,不存在合法的 G′G':


【数据范围】

对于全部数据:1≤n≤200001\leq n\leq 20000,1≤m≤3×1051\leq m\leq 3\times 10^5,1≤x,y≤n1\leq x,y\leq n,保证给定的图无环且无重边。

子任务编号 n≤n\leq m≤m\leq 特殊性质 分值
Subtask 1\text{Subtask 1} 50005000 49994999 m=n−1m=n-1,每个点入度不超过 11 1818
Subtask 2\text{Subtask 2} m=n−1m=n-1,每个点出度不超过 11 1919
Subtask 3\text{Subtask 3} 2020 5050 无 2020
Subtask 4\text{Subtask 4} 50005000 1000010000 2121
Subtask 5\text{Subtask 5} 2000020000 3×1053\times 10^5 2222