백준 2606: 바이러스 (파이썬)
# 2022-04-09
from collections import deque
def bfs(v):
q = deque()
q.append(v)
visited[v] = 1
while q:
i = q.popleft()
for j in computers[i]:
if visited[j] == 0:
q.append(j)
visited[j] = 1
return visited
N = int(input()) # 컴퓨터의 수
M = int(input()) # 간선의 수
computers = [[] for _ in range(N + 1)]
for _ in range(M):
a, b = map(int, input().split())
computers[a].append(b)
computers[b].append(a)
visited = [0] * (N + 1)
bfs(1)
print(visited.count(1) - 1) # 방문한 곳 개수 출력 (시작 지점 1 제외)
deque 사용해보았다
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 1065 한수 (python) (0) | 2022.04.20 |
---|---|
[BOJ] 1978 소수 찾기 (python) (0) | 2022.04.18 |
[BOJ] 2577 숫자의 개수 (python) (0) | 2022.04.14 |
[BOJ] 1244 스위치 켜고 끄기 (python) (0) | 2022.04.13 |
[BOJ] 2667 단지번호붙이기 (python) (0) | 2022.04.10 |