图的深度优先遍历
提交数: 435, 通过率: 25.06%, 平均分: 56.14
题目描述:
对于给定的图G(邻接矩阵表示),和给定的顶点V,要求从顶点V出发遍历图G,输出符合条件的深度优先序列。
输入格式:
第一行两个整数n和v,n表示图的顶点数(n<=100),v表示遍历的开始顶点;
接下来n行是图G的邻接矩阵。
输出格式:
一行输出以顶点v为起点的深度优先遍历序列,对于任一起点,首先遍历的是顶点序号最小的、尚未被访问的一条边。
样例输入:
4 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0
样例输出:
1 2 3 4
提示:
n ,v = map(int,input().split())
a = [[0 for i in range(n+1)] for i in range(n+1)]
for i in range(1,1+n):
s = [0]+list(map(int,input().split()))
for j in range(1,1+n):
_____(1)______
path = []
def dfs(x):
_____(2)______
for j in range(1,1+n):
if _____(3)______:
dfs(_____(4)______)
dfs(v)
for i in range(1,n+1):
if _____(5)______:
dfs(i)
for v in path:
print(v,end=" ")
时间限制: 1000ms空间限制: 256MB
来源: 原创