본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬] 2606번 바이러스

by 현장 2021. 12. 30.

-코드

def dfs(start):
    visited[start] = True
    result.append(start)
    for i in range(1, n + 1):
        if not visited[i] and arr[start][i]:
            dfs(i)
    return result


n = int(input())
m = int(input())
arr = [[0] * (n + 1) for _ in range(n + 1)]
visited = [False] * (n + 1)
result = []
for _ in range(m):
    u, v = map(int, input().split())
    arr[u][v] = 1
    arr[v][u] = 1

print(len(dfs(1)) - 1)

어제 dfs 문제 푼 것을 익숙해지기 위해서 토대로 만들어봤습니다.