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

for i in range(m):
    a, b = map(int, input().split())
    node[a].append(b)
    node[b].append(a)

for j in range(n+1):
    node[j].sort()

def dfs(v):
    visited1[v] = True
    print(v, end=' ')
    for i in node[v]:
        if not visited1[i]:
            dfs(i)


visited1 = [False] * (n+1)
dfs(v)

print()



from collections import deque

def bfs(v):
    queue = deque()
    queue.append(v)
    visited[v] = True

    while queue:
        v = queue.popleft()
        print(v, end= ' ')
        for i in node[v]:
            if not visited[i]:
                queue.append(i)
                visited[i] = True

visited = [False] * (n+1)
bfs(v)
반응형

+ Recent posts