atcoder#ABC223D. [ABC223D] Restricted Permutation

[ABC223D] Restricted Permutation

题目描述

(1, 2, , N) (1,\ 2,\ \dots,\ N) を並び替えて得られる数列 P P であって以下の条件を満たすもののうち、辞書順で最小のものを求めてください。

  • i = 1, , M i\ =\ 1,\ \dots,\ M に対し、P P において Ai A_i Bi B_i よりも先に現れる。

ただし、そのような P P が存在しない場合は -1 と出力してください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M A1 A_1 B1 B_1 \vdots AM A_M BM B_M

输出格式

答えを出力せよ。

题目大意

(1,2,,n)( 1,2,\dots,n ) 重新排列后得到一个数列 PP,满足对于 i[1,M]\forall i\in [1,M]PP 中的 AiA_i 要出现在 BiB_i 之前。在此前提下要求 PP 的字典序最小。如果不存在这样的 PP,请输出 1-1

4 3
2 1
3 4
2 4
2 1 3 4
2 3
1 2
1 2
2 1
-1

提示

制約

  • 2  N  2 × 105 2\ \leq\ N\ \leq\ 2\ \times\ 10^5
  • 1  M  2 × 105 1\ \leq\ M\ \leq\ 2\ \times\ 10^5
  • 1  Ai, Bi  N 1\ \leq\ A_i,\ B_i\ \leq\ N
  • Ai  Bi A_i\ \neq\ B_i
  • 入力は全て整数である。

Sample Explanation 1

条件を満たす P P は $ (2,\ 1,\ 3,\ 4),\ (2,\ 3,\ 1,\ 4),\ (2,\ 3,\ 4,\ 1),\ (3,\ 2,\ 1,\ 4),\ (3,\ 2,\ 4,\ 1) $ の 5 5 つです。これらのうち辞書順で最小のものは (2, 1, 3, 4) (2,\ 1,\ 3,\ 4) です。

Sample Explanation 2

条件を満たす P P は存在しません。