CS/Algorithm 문제

[BaekJoon] 백준 2606번 바이러스

[BaekJoon] 백준 2606번 바이러스

 

문제: https://www.acmicpc.net/problem/2606

 

내코드

 

간단하게 bfs로 풀 수 있는 탐색문제였다. dfs로도 풀 수 있을 것 같은데 다음에는 dfs로도 풀어봐야겠다.

 

# BaekJoon2606.py
from collections import deque


def solution(N, M):
    link = [[] for _ in range(N)]
    visited = [False for _ in range(N)]

    for i in range(M):
        a, b = map(int, input().split())
        link[a - 1].append(b - 1)
        link[b - 1].append(a - 1)

    qu = deque([0])
    visited[0] = True
    answer = 0

    while len(qu) != 0:
        value = qu.popleft()
        for i in link[value]:
            if not visited[i]:
                answer += 1
                visited[i] = True
                qu.append(i)

    return answer


N = int(input())
M = int(input())
print(solution(N, M))

 

 

728x90
반응형