[알고리즘/백준] 2606번 : 바이러스(python)

유현민·2022년 3월 3일
0

알고리즘

목록 보기
27/253

기본 bfs로 풀었다. bfs 구현이 가능하면 풀린다.

def make_graph():
    com = {}
    for i in range(int(input())):
        com[i + 1] = set()
    for j in range(int(input())):
        a, b = map(int, input().split())
        com[a].add(b)
        com[b].add(a)
    return com


def solution(start, com):
    visit = []

    queue = [start]
    while queue:
        for i in com[queue.pop(0)]:
            if i not in visit:
                visit.append(i)
                queue.append(i)
    print(len(visit) - 1)


if __name__ == "__main__":
    solution(1, make_graph())
profile
smilegate megaport infra

0개의 댓글