洛谷b3625dfs python做法
时间: 2024-04-12 14:26:02 浏览: 60
DFS.rar_DFS algorithm_dfs_dfs python
洛谷题目b3625是一个关于深度优先搜索(DFS)的题目,要求使用Python语言进行解答。下面是一种可能的解法:
```python
# 定义一个全局变量用于记录结果
result = []
def dfs(graph, start, visited):
# 将当前节点标记为已访问
visited[start] = True
# 将当前节点添加到结果中
result.append(start)
# 遍历当前节点的邻居节点
for neighbor in graph[start]:
# 如果邻居节点未被访问,则递归调用dfs函数
if not visited[neighbor]:
dfs(graph, neighbor, visited)
# 读取输入数据
n, m = map(int, input().split())
graph = [[] for _ in range(n+1)]
visited = [False] * (n+1)
# 构建图的邻接表表示
for _ in range(m):
u, v = map(int, input().split())
graph[u].append(v)
graph[v].append(u)
# 从节点1开始进行DFS遍历
dfs(graph, 1, visited)
# 输出结果
print(' '.join(map(str, result)))
```
以上是一种可能的解法,其中使用了深度优先搜索算法来遍历图中的节点,并将结果保存在全局变量`result`中。最后将结果输出即可。
阅读全文