백준 2606 - 바이러스 (파이썬)

Updated:

Answer

from sys import stdin
input = stdin.readline

n = int(input()) + 1
m = int(input())

matrix = [[0] * n for _ in range(n)]
visited_list = [0] * n

for _ in range(m):
    a, b = map(int, input().split())
    
    matrix[a][b] = 1
    matrix[b][a] = 1

result = 0

def dfs(v):
    global result
    visited_list[v] = 1

    for i in range(1, n):
        if visited_list[i] == 0 and matrix[v][i] == 1:
            dfs(i)
            result += 1

dfs(1)
print(result)

Categories:

Updated: