A10986. Minimal Labels
编程题
普及/提高-
知识点
题目描述
You are given a directed acyclic graph with $n$ vertices and $m$ edges. There are no self-loops or multiple edges between any pair of vertices. Graph can be disconnected.
You should assign labels to all vertices in such a way that:
- Labels form a valid permutation of length $n$ — an integer sequence such that each integer from $1$ to $n$ appears exactly once in it.
- If there exists an edge from vertex $v$ to vertex $u$ then $label_{v}$ should be smaller than $label_{u}$ .
- Permutation should be lexicographically smallest among all suitable.
Find such sequence of labels to satisfy all the conditions.
You should assign labels to all vertices in such a way that:
- Labels form a valid permutation of length $n$ — an integer sequence such that each integer from $1$ to $n$ appears exactly once in it.
- If there exists an edge from vertex $v$ to vertex $u$ then $label_{v}$ should be smaller than $label_{u}$ .
- Permutation should be lexicographically smallest among all suitable.
Find such sequence of labels to satisfy all the conditions.
输入格式
The first line contains two integer numbers $n$ , $m$ ( $2<=n<=10^{5},1<=m<=10^{5}$ ).
Next $m$ lines contain two integer numbers $v$ and $u$ ( $1<=v,u<=n,v≠u$ ) — edges of the graph. Edges are directed, graph doesn't contain loops or multiple edges.
Next $m$ lines contain two integer numbers $v$ and $u$ ( $1<=v,u<=n,v≠u$ ) — edges of the graph. Edges are directed, graph doesn't contain loops or multiple edges.
输出格式
Print $n$ numbers — lexicographically smallest correct permutation of labels of vertices.
输入输出样例
输入 #1
3 3 1 2 1 3 3 2
输出 #1
1 3 2
输入 #2
4 5 3 1 4 1 2 3 3 4 2 4
输出 #2
4 1 2 3
输入 #3
5 4 3 1 2 1 2 3 4 5
输出 #3
3 1 2 4 5