#4558. Find Permutation

0

Find Permutation

Find Permutation

题目描述

有一个长度为 NN 的序列 A=(A1,…,AN)A=(A_1,\ldots,A_N),它是 1,…,N1,\ldots,N 的一个排列。 虽然你不知道 AA,但你知道对于 MM 对整数 (Xi,Yi)(X_i,Y_i) 有 A_{X_i}<A_{Y_i}。 AA 能被唯一确定吗?如果可以,求出 AA。

输入格式

输入从标准输入按如下格式给出: NN MM X1X_1 Y1Y_1 ⋮\vdots XMX_M YMY_M

输出格式

如果 AA 能被唯一确定,第一行输出 YesYes。然后在第二行输出 A1,…,ANA_1,\ldots,A_N,各数以空格分隔。 如果 AA 不能被唯一确定,仅输出 NoNo。

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×1052 \leq N \leq 2\times 10^5 1≤M≤2×1051 \leq M \leq 2\times 10^5 1≤Xi,Yi≤N1\leq X_i,Y_i \leq N 输入中的所有数值均为整数。 存在一个与输入一致的 AA。我们可以唯一确定 A=(3,1,2)A=(3,1,2)。
两个序列 (2,3,1)(2,3,1) 和 (3,2,1)(3,2,1) 都可能是 AA。

标签: AtCoder|abc291E

来源

AtCoder|abc291E