[백준 2606] - 바이러스(Python)

최제원·2024년 7월 26일

algorithm

목록 보기
9/12
post-thumbnail

https://www.acmicpc.net/problem/2606

문제 이해

1번 부터 감염해서 최대 몇개까지 바이러스가 감염 되는지 구하는 문제

문제 포인트

  1. 1번 부터 dfs를 이용하여 1번이 소유한 모든 node를 검색하면 된다

제출 코드

import sys
N = int(sys.stdin.readline().strip())
M = int(sys.stdin.readline().strip())

graph = [[] for _ in range(N+1)]

for i in range(M):
    u, v = map(int, sys.stdin.readline().split())
    graph[u].append(v)
    graph[v].append(u)

visited = [False] * (N+1)
count = 0

def dfs(v):
    visited[v] = True
    global count
    count += 1
    for i in graph[v]:
        if not visited[i]:
            dfs(i)

dfs(1)
print(count-1)
profile
Why & How

0개의 댓글