#HK4249. 「NordicOI 2019」Graph Ordering

「NordicOI 2019」Graph Ordering

题目描述

题目译自 NordicOI 2019 T3 「Graph Ordering

你有一个包含 nn 个节点的无向连通图。节点编号为 1,2,,n1, 2, \dots, n

我们来考虑节点的一个排列。排列中的第一个节点称为源节点,最后一个节点称为汇节点。此外,我们称一条路径就是合法的,对于路径上的所有边 (a,b)(a,b),如果要从节点 aa 移动到节点 bb,节点 aa 在排列中的位置必须位于节点 bb 之前。

你的任务是找到一个排列,使得

  1. 从源节点到每个节点都有一条合法的路径;
  2. 从每个节点到汇节点都有一条合法的路径。

或者不存在这样的排列。

输入格式

第一行有两个整数 nnmm,表示节点数和边数。

接下来有 mm 行描述这些边。每行有两个整数 aabb,表示节点 aa 和节点 bb 之间有一条边。

保证图是连通的,不包含自环,并且每对节点之间最多有一条边。

输出格式

输出任意一个合法的节点排列。如果不存在合法的方案,输出 IMPOSSIBLE

5 5
4 2
3 4
2 1
3 1
1 5
4 2 3 1 5
4 3
1 2
3 2
4 2
IMPOSSIBLE

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制
11 77 2n1052 \le n \le 10^{5};图是一棵树
22 2929 2n100,1m2002 \le n \le 100, 1 \le m \le 200
33 1818 2n2000,1m50002 \le n \le 2000, 1 \le m \le 5000
44 2121 2n105,1m21052 \le n \le 10^{5}, 1 \le m \le 2 \cdot 10^{5}
保证存在一个合法的排列,其中节点 11 是源节点,节点 nn 是汇节点
55 2525 2n105,1m21052 \le n \le 10^{5}, 1 \le m \le 2 \cdot 10^{5}