백준 1260 DFS와 BFS [Python]

지구온난화·2023년 8월 15일
0

백준 실버

목록 보기
24/25

참고click

import sys

N, M, V = map(int, sys.stdin.readline().split())

matrix = [[0]*(N+1) for i in range(N+1)]
visited = [0]*(N+1)

for i in range(M):
    a, b = map(int, sys.stdin.readline().split())
    matrix[a][b] = matrix[b][a] = 1


def dfs(V):
    visited[V] = 1
    print(V, end=' ')

    for i in range(1,N+1):
        if(visited[i] == 0 and matrix[V][i] == 1):
            dfs(i)

def bfs(V):
    queue = [V]

    visited[V] = 0

    while queue:
        V = queue.pop(0)
        print(V, end = ' ')
        for i in range(1, N+1):
            if(visited[i] == 1 and matrix[V][i] == 1):
                queue.append(i)
                visited[i] = 0

dfs(V)
print()
bfs(V)

0개의 댓글