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