[BOJ] 2606 바이러스 (python)

백준 2606: 바이러스 (파이썬)

 

2606번: 바이러스

첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어

www.acmicpc.net

# 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