#AT2489. E - Find Permutation

E - Find Permutation

当前没有测试数据。

E - 寻找排列

分数:500 分

问题描述

有一个长度为 $N$ 的序列 $A=(A_1,\ldots,A_N)$,它是 $1,\ldots,N$ 的一个排列。

虽然你不知道 $A$,但你知道对于 $M$ 对整数 $(X_i,Y_i)$,$A_{X_i}<A_{Y_i}$。

能否唯一确定 $A$?如果可能,找到 $A$。

约束条件

  • $2 \leq N \leq 2\times 10^5$
  • $1 \leq M \leq 2\times 10^5$
  • $1\leq X_i,Y_i \leq N$
  • 输入中的所有值都是整数。
  • 存在与输入相一致的 $A$。

输入

输入以以下格式从标准输入给出:

NN MM

X1X_1 Y1Y_1

\vdots

XMX_M YMY_M

输出

如果能够唯一确定 $A$,在第一行中输出 Yes。然后,在第二行中输出由 $A_1,\ldots,A_N$ 组成的序列,空格分隔。

如果不能唯一确定 $A$,只需输出 No


3 2
3 1
2 3
Yes
3 1 2

我们可以唯一确定 $A=(3,1,2)$。


3 2
3 1
3 2
No

序列 $(2,3,1)$ 和 $(3,2,1)$ 可以是 $A$。


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