编程题:图的深度优先遍历
给定一个无向图,输出指定顶点出发的深度优先遍历序列。在深度优先遍历的过程中,如果同时出现多个待访问的顶点,则优先选择编号最小的一个进行访问,
### 输入格式:
第一行输入三个正整数,分别表示无向图的顶点数N(1≤N≤1000,顶点从1到N编号)、边数M和指定起点编号S。接下来的M行对应M条边,每行给出两个正整数,分别是该条边的端点编号。
### 输出格式:
输出从S开始的深度优先遍历序列,用一个空格隔开,最后也含有一个空格。如果从S出发无法遍历到图中的所有顶点,第二行输出Non-connected。
### 输入样例:
in
5 4 2
1 2
2 3
5 2
1 3
### 输出样例:
out
2 1 3 5
Non-connected
answer:若无答案欢迎评论
### 输入格式:
第一行输入三个正整数,分别表示无向图的顶点数N(1≤N≤1000,顶点从1到N编号)、边数M和指定起点编号S。接下来的M行对应M条边,每行给出两个正整数,分别是该条边的端点编号。
### 输出格式:
输出从S开始的深度优先遍历序列,用一个空格隔开,最后也含有一个空格。如果从S出发无法遍历到图中的所有顶点,第二行输出Non-connected。
### 输入样例:
in
5 4 2
1 2
2 3
5 2
1 3
### 输出样例:
out
2 1 3 5
Non-connected
answer:若无答案欢迎评论