알고리즘 문제풀이
백준 2606 바이러스 Python BFS 실버3
아크몽
2024. 3. 31. 00:56
BFS 기본적인 문제인듯 하다.
# 2606 바이러스 실버3
from collections import deque
computer = int(input())
network = int(input())
adjl = [[] for _ in range(computer+1)]
for _ in range(network):
s,e = map(int,input().split())
adjl[s].append(e)
adjl[e].append(s)
def bfs(v):
deq = deque()
deq.append(v)
visited = [0] * (computer + 1)
visited[v] = 1
cnt = 0
while deq:
value = deq.popleft()
for i in range(1,computer+1):
if not visited[i] and i in adjl[value]:
visited[i] = visited[value] + cnt
cnt += 1
deq.append(i)
return cnt
print(bfs(1))