백준 1260번 - DFS와 BFS

GONI·2021년 10월 5일
0

백준

목록 보기
1/3
post-thumbnail

문제 출처 : https://www.acmicpc.net/problem/1260

코드

from collections import deque

N, M, s = map(int,input().split())
MAP = [[] for _ in range(N+1)]

for i in range(M):
    start, end = map(int, input().split())
    MAP[start].append(end)
    MAP[end].append(start)
    MAP[start].sort()
    MAP[end].sort()

    
def bfs(MAP, start, visited):
    q = deque([start])
    visited[start] = True

    while q:
        n = q.popleft()
        print(n, end=" ")
        for atr in MAP[n]:
            if visited[atr] == False:
                q.append(atr)
                visited[atr] = True

                
def dfs(MAP, start, visited):
    visited[start] = True
    print(start, end=" ")
    
    for atr in MAP[start]:
        if visited[atr] == False:
            dfs(MAP, atr, visited)

            
visited = [False] * (N+1)
dfs(MAP, s, visited)
print()
visited = [False] * (N+1)
bfs(MAP, s, visited)

풀이

사실 가장 기초이고 코드가 알고리즘 그 자체라 풀이할 부분이 따로 없다,, 어쨋든 기초는 중요하니까 (도장 쾅쾅쾅) 잘 알아두자.

profile
오로지 나의 기억력을 위한 일지

0개의 댓글