eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Граф

Граф

Последовательность $a_1, a_2, ..., a_n$ называется перестановкой, если она содержит все целые числа от $1$ до $n$. Перестановка вершин $a_1, a_2, ..., a_n$ называется топологической сортировкой ориентированного графа, если для каждого ориентированного ребра из $u$ в $v$ вершина $u$ идет раньше $v$ в этой перестановке. Перестановка $a_1, a_2, ..., a_n$ лексикографически меньше перестановки $b_1, b_2, ..., b_n$, если существует $m$ такое что $a_i = b_i$ для каждого $1 \le i < m$, и при этом $a_m < b_m$. В заданном ориентированном ациклическом графе добавить не более $k$ ориентированных ребер так, чтобы полученный граф все так же не имел циклов, а его лексикографически наименьшая топологическая сортировка была бы максимально возможной. \InputFile Первая строка содержит три целых числа $n, m$ и $k\:(1 \le n \le 10^5, 0 \le m, k \le 10^5)$ --- количество вершин и ориентированных ребер в графе, а также число ориентированных ребер, которое разрешено добавить. Каждая из следующих $m$ строк содержит два целых числа $u_i, v_i$, задающих ориентированное ребро из $u_i$ в $v_i\:(1 \le u_i, v_i \le n)$. Граф не имеет циклов. \OutputFile В первой строке вывести $n$ чисел - лексикографически наименьшую топологическую сортировку модифицированного графа. Во второй строке вывести число $x\:(0 \le x \le k)$ --- количество добавленных ориентированных ребер. Следующие $x$ строк содержат добавленные ориентированные ребра в том же формате как и во входных данных. \includegraphics{https://static.eolymp.com/content/un/un5hgs7mbh5u3b20f8t48kb1nk.gif}
Ліміт часу 1 секунда
Ліміт використання пам'яті 128 MiB
Вхідні дані #1
5 3 2
1 4
4 2
1 3
Вихідні дані #1
5 1 4 2 3
2
5 1
2 3
Вхідні дані #2
2 2 20
1 2
1 2
Вихідні дані #2
1 2
0
Джерело 2015 ACM NEERC, Northern Subregion, October 24, Problem G