AT_abc291_e [ABC291E] Find Permutation
题目描述
有一个长度为 $N$ 的数列 $A=(A_1,\ldots,A_N)$,它是 $1,\ldots,N$ 的一个排列。
你并不知道 $A$ 的具体内容,但你知道 $M$ 个整数对 $(X_i,Y_i)$,满足 $A_{X_i} < A_{Y_i}$。
请判断是否能够唯一确定数列 $A$,如果可以,请输出 $A$。
输入格式
输入通过标准输入按以下格式给出。
> $N$ $M$
> $X_1$ $Y_1$
> $\vdots$
> $X_M$ $Y_M$
输出格式
如果能够唯一确定 $A$,第一行输出 `Yes`,第二行按顺序输出 $A_1,\ldots,A_N$,用空格分隔。
如果不能唯一确定 $A$,仅输出 `No`。
说明/提示
### 限制条件
- $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$
### 样例解释 1
可以唯一确定 $A=(3,1,2)$。
### 样例解释 2
$A$ 可能为 $(2,3,1)$ 或 $(3,2,1)$,有两种可能。
由 ChatGPT 4.1 翻译