atcoder#ABC291E. [ABC291E] Find Permutation

[ABC291E] Find Permutation

题目描述

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

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

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

输入格式

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

N N M M X1 X_1 Y1 Y_1 \vdots XM X_M YM Y_M

输出格式

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

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

题目大意

有一个 1N1\sim N 的排列 A1,,ANA_1,\cdots,A_N
给定 MM 组关系 (Xi,Yi)(X_i,Y_i),每组关系表示 AXi<AYiA_{X_i}<A_{Y_i}
求出唯一一组合法的 AA。如果答案不唯一,仅输出 No;否则输出 Yes 和求出的 AA

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

提示

制約

  • 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 Xi,Yi  N 1\leq\ X_i,Y_i\ \leq\ N
  • 入力は全て整数である
  • 入力に矛盾しない A A が存在する

Sample Explanation 1

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

Sample Explanation 2

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