#icpc2014summerday4i. [icpc2014summer_day4_i]首都
[icpc2014summer_day4_i]首都
题目描述
给定一个没有环的有向连通图。首先,我们需要选择一个顶点作为首都 。
定义函数 为“使从顶点 可达所有点所需的最小‘反转边’操作次数”。
其中,“反转边”指的是删除由顶点 到 的有向边 ,并将其重新连接为 。
顶点 是首都,当且仅当对于任意顶点 ,都满足 。
请列举所有符合首都条件的顶点作为答案。
输入
输入以以下格式给出,共 行。
:
:
- 第一行包含两个整数 和 ,表示给定图有 个顶点和 条边。
- 接下来的 行,每行包含两个整数 和 ,表示存在一条由 到 的有向边。
约束条件
- 对于所有 ,
- 给定图是连通的且没有环。
- 给定图中入度为0的顶点个数不超过50。
输出
以以下格式输出答案,共两行。
...
- 第一行,由两个整数 和 组成,以空格分隔。
- 第二行,输出 个整数 ,以空格分隔。它们按照顺序列出满足首都条件的顶点编号。
示例输入 1
3 2
0 1
2 1```
### 示例输出 1
```plain
2 1
0 2```
* 如果选择顶点0作为首都,则将边(2,1)反转,可以得到一个包含边(0,1)和(1,2)的图,所以答案是1。
* $T(0)=1$,$T(1)=2$,$T(2)=1$。
---
### 示例输入 2
```plain
5 4
0 1
2 1
2 3
4 3```
### 示例输出 2
```plain
3 2
0 2 4```
---
### 示例输入 3
```plain
5 5
0 1
1 2
3 2
3 4
4 1```
### 示例输出 3
```plain
2 1
0 3```