白駿1260号-Dfsとbfs


from collections import deque

def dfs(node):
    visited.append(node)
    result.append(node)

    for i in sorted(graph[node]):
        if i in visited:
            continue
        dfs(i)

def bfs(node):
    visited.append(node)
    result.append(node)
    queue = deque([node])
    while True:
        node = queue.popleft()

        for i in sorted(graph[node]):
            if i in visited:
                continue
            queue.append(i)
            result.append(i)
            visited.append(i)

        if not queue:
            break

n, m, v = map(int, input().split())
graph = [[] for _ in range(n+1)]

for _ in range(m):
    x, y = map(int, input().split())
    graph[x].append(y)
    graph[y].append(x)

result = []
visited = []
dfs(v)
for i in result:
    print(i, end=" ")
print()

result = []
visited = []
bfs(v)
for i in result:
    print(i, end=" ")
プール(dfsを通るプール)
1.図形を幹線初期化し、結果、アクセス初期化する.
2.dfsで順番に結果に入れ、そのまま出力します.この場合は昇順に幹線を並べます.
プール(bfsを通るプール)
1.図形を幹線初期化し、結果、アクセス初期化する.
2.bfsで順番に結果に入れてそのまま出力する場合は、昇順に幹線を並べる必要があります.