#Algorithm
문제 번호
2606번(S3) : 바이러스
알고리즘 + 이론
BFS
정답 코드
# 2606번 바이러스
from collections import deque
def bfs(start_node, graph):
queue = deque([start_node])
visited = set([start_node])
while queue:
curr_node = queue.popleft()
for next_node in graph[curr_node]:
if next_node not in visited:
visited.add(next_node)
queue.append(next_node)
return len(visited)
computer_num = int(input())
network_num = int(input())
computer = {n+1:[] for n in range(computer_num)}
for _ in range(network_num):
a,b = map(int,input().split())
computer[a].append(b)
computer[b].append(a)
print(bfs(1,computer)-1)
이 글이 도움이 되셨나요?