输出有向图的拓扑序列。
输入格式:
输入第一行给出两个正整数,分别表示图的节点数N(1<N≤10)、边数M(≤50)。随后的M行对应M条边,每行给出一对正整数,分别是有向边直接连通的两个节点的编号(编号从1到N依次进行)。
输出格式:
输出此图的拓扑序列,用一个空格隔开,最后也有一个空格;如果为非连通图或图中有回路,则在结尾处另起一行输出一个0。
由于拓扑序列是不唯一的,为了使得输出具有唯一的结果,我们约定以表头插入法构造邻接表,并且保证初始入度为0的节点仅有一个。当运行过程中同时出现多个入度为0 的结点时,采用栈来保存。
输入样例1:
4 3
1 4
4 2
2 3
输出样例1:
1 4 2 3
输入样例2:
4 4
1 4
4 2
2 3
3 4
输出样例2:
1
0