跑步(Running.pas/c/cpp)

Grade 0 Open Time Friday, 5 October 2012, 10:40 am
Discount 0.8 Time Discount Friday, 5 October 2012, 10:40 am
Allow late Yes Close Time Friday, 5 October 2012, 10:40 am
Input file Running.in Output file Running.out

题目描述

      新兵到部队,警官要求他们每天早上搞晨跑,从A营跑到B营。从A营到B营中有n-2个路口,分别标上号,A营为1号,B营为n号,路口分别为2..n-1号,从A营到B营有很多条路径可以到达,而睿智的警官发现有的路口是必须经过的,即每条路径都经过的路口,警官要把它们记录下来,这样警官就可以先到那个路口,观察新兵有没有偷懒,而你的任务就是找出所有必经路口。

输入数据

   第一行两个用空格隔开的整数n3<=n<=2000)和e(1<=n<=8000)

     接下来从第2到第e+1行,每行两个用空格隔开的整数pq,表示路口pq之间有路径直达。

     输入数据保证必经路口一定存在,并且每个路口都和A营、B营相连通。

输出数据

    第一行一个整数m,表示必经路口的数目。

第二行按从小到大的顺序依次输出每个必经路口的编号,每两个数之间用一个空格隔开。

注意:不包括起点和终点。

 

样例输入

6 6

1 2

2 4

2 3

3 5

4 5

5 6

 

样例输出

2

2 5