#P7054. [NWRRC 2015] Graph

[NWRRC 2015] Graph

Description

序列 a1,a2,,ana_{1}, a_{2}, \ldots, a_{n} 被称为一个排列,如果它包含从 11nn 的每一个整数。

如果顶点的排列 a1,a2,,ana_{1}, a_{2}, \ldots, a_{n} 是一个有向图的拓扑排序,那么对于每一条从 uuvv 的有向边,顶点 uu 在这个排列中出现在 vv 之前。

排列 a1,a2,,ana_{1}, a_{2}, \ldots, a_{n} 在字典序上小于排列 b1,b2,,bnb_{1}, b_{2}, \ldots, b_{n},如果存在某个 mm 使得对于每一个 1i<m1 \le i < m,都有 ai=bia_{i} = b_{i},并且 am<bma_{m} < b_{m}

给定一个有向无环图,最多添加 kk 条有向边,使得结果图仍然没有环,并且图的字典序最小的拓扑排序尽可能大。

Input Format

输入文件的第一行包含三个整数 n,mn, mkk —— 原始图中的顶点数和有向边数,以及允许添加的有向边数 (1n100000;0m,k100000)(1 \le n \le 100 000; 0 \le m, k \le 100 000)

接下来的 mm 行中的每一行包含两个整数 ui,viu_{i}, v_{i},描述从 uiu_{i}viv_{i} 的有向边 (1ui,vin)(1 \le u_{i}, v_{i} \le n)

图中没有环。

Output Format

输出文件的第一行应包含 nn 个整数 —— 修改后的图的字典序最小的拓扑排序。第二行应包含一个整数 x(0xk)x (0 \le x \le k) —— 添加的有向边的数量。接下来的 xx 行应包含添加的有向边的描述,格式与输入文件相同。

5 3 2
1 4
4 2
1 3

5 1 4 2 3
2
4 3
5 1

2 2 20
1 2
1 2

1 2
1
1 2

Hint

时间限制:2 秒,内存限制:256 MB。

题面翻译由 ChatGPT-4o 提供。