백준 2606번: 바이러스

Seungil Kim·2021년 5월 25일
0

PS

목록 보기
11/206

백준 2606번: 바이러스

아이디어

그냥 그래프 탐색하면서 몇개나 연결됐는지 세면 된다.

코드

from collections import deque

v = int(input())
e = int(input())
graph = [[] for _ in range(v+1)]
visited = [False] * (v+1)
deq = deque()

for _ in range(e):
    v1, v2 = map(int, input().split())
    graph[v1].append(v2)
    graph[v2].append(v1)


def bfs(start, visited):
    visited[start] = True
    deq.append(start)
    cnt = 0
    while deq:
        v = deq.popleft()
        for i in graph[v]:
            if not visited[i]:
                visited[i] = True
                deq.append(i)
                cnt += 1
    return cnt


print(bfs(1, visited))

여담

한국정보올림피아드시․도지역본선 > 지역본선 2004 > 초등부 3번 문제라고 한다. 난 초등학생이다.

profile
블로그 옮겼어용 https://ks1ksi.io/

2개의 댓글

comment-user-thumbnail
2021년 5월 27일

응애 나 초딩 김승일

1개의 답글