atcoder#ABC291E. [ABC291E] Find Permutation

[ABC291E] Find Permutation

配点 : 500500

問題文

1,,N1,\ldots,N の並び替えである長さ NN の数列 A=(A1,,AN)A=(A_1,\ldots,A_N) があります。

あなたは AA を知りませんが、MM 個の整数の組 (Xi,Yi)(X_i,Y_i) について、$A_{X_i} が成り立つことを知っています。

AA を一意に特定できるかどうか判定し、できるなら AA を求めてください。

制約

  • 2N2×1052 \leq N \leq 2\times 10^5
  • 1M2×1051 \leq M \leq 2\times 10^5
  • 1Xi,YiN1\leq X_i,Y_i \leq N
  • 入力は全て整数である
  • 入力に矛盾しない AA が存在する

入力

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

NN MM

X1X_1 Y1Y_1

\vdots

XMX_M YMY_M

出力

AA を一意に特定できるとき、1行目に Yes と出力し、2行目に A1,,ANA_1,\ldots,A_N をこの順に空白区切りで出力せよ。

AA を一意に特定できないとき、No とのみ出力せよ。

3 2
3 1
2 3
Yes
3 1 2

A=(3,1,2)A=(3,1,2) であると一意に特定できます。

3 2
3 1
3 2
No

AA として (2,3,1),(3,2,1)(2,3,1),(3,2,1)22 通りが考えられます。

4 6
1 2
1 2
2 3
2 3
3 4
3 4
Yes
1 2 3 4