백준 2606 바이러스(with Python)

daeungdaeung·2021년 6월 24일
0

어떤 문제?

제목에 쓰인 문제입니다. BFS를 활용하면 되는 문제입니다.

내가 생각한 Solution

문제에서 생각해볼 점

  • 딱히 어려운 것 없습니다. (기본 BFS 문제입니다.)

  • 출력시 1번 컴퓨터를 제하는것만 생각하시면 됩니다.

코드 구현

from collections import deque

n = int(input())
k = int(input())

adj = [[] for _ in range(101)]

for i in range(k):
    n1, n2 = map(int, input().split())
    adj[n1].append(n2)
    adj[n2].append(n1)

q = deque([1])

chk = [0] * (101)
chk[1] = 1

while q:
    n = q.popleft()

    for nn in adj[n]:
        if chk[nn] == 0:
            chk[nn] = 1
            q.append(nn)

print(sum(chk)-1)
profile
개발자가 되고싶읍니다...

0개의 댓글