백준 풀이

백준 1260번 파이썬 dfs, bfs 개념

ag2개발자 2022. 8. 28. 03:27
from collections import deque
n,k,s=map(int,input().split())
arr=[[] for t in range(n+1)]
for _ in range(k):
    a,b=map(int,input().split())
    arr[a].append(b)
    arr[b].append(a)
visited=[0]*(n+1)
visited2=[0]*(n+1)
def dfs(st):
    visited[st]=1
    print(st,end=" ")
    arr[st].sort()
    for i in arr[st]:
        if visited[i]==0:
            dfs(i)

def bfs(sta):
    visited2[sta]=1
    queue = deque()
    queue.append(sta)
    while queue:
        w=queue.pop()
        print(w,end=" ")
        arr[w].sort()
        for j in arr[w]:
            if visited2[j]==0:
                queue.appendleft(j)
                visited2[j]=1
dfs(s)
print()
bfs(s)

'백준 풀이' 카테고리의 다른 글

백준 1012번 파이썬 bfs  (0) 2022.08.28
백준 1149번 파이썬 dp  (0) 2022.08.28
백준 2667번 파이썬 bfs, dfs  (0) 2022.08.28
백준 2606번 파이썬 bfs easy  (0) 2022.08.28
백준 2178번 파이썬 bfs easy  (0) 2022.08.27