[백준] 2606 : 바이러스

letsbebrave·2022년 6월 21일
0

codingtest

목록 보기
136/146

문제

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

풀이

# 1번과 연결된 노드의 개수?
import sys
input = sys.stdin.readline

n = int(input())
m = int(input())

net = [[] for _ in range(n+1)]
visited = [0 for _ in range(n+1)]
for i in range(m):
    a, b = map(int, input().split())
    net[a].append(b)
    net[b].append(a)

cnt = 0

def dfs(x):
    global  cnt 
    # 함수 내에서 global 선언을 해야 지역변수로 동작하지 않음
    visited[x] = True
    cnt += 1
    # 각각의 노드를 돌며 방문여부 확인 및 dfs 탐색
    for i in net[x]:
        if not visited[i]:
            dfs(i)

dfs(1)

print(cnt-1)  # 1번 자기 자신을 제외하고 바이러스 감염되는 컴 수
profile
그게, 할 수 있다고 믿어야 해

0개의 댓글