티스토리 뷰

알고리즘

백준 2606 바이러스

killog 2020. 9. 24. 23:28
반응형

bfs dfs 의 문제에 으쌰으쌰해 한방에 맞춘 문제

import collections
def bfs(graph, start_node):
    will_visit=collections.deque(graph[start_node])
    visit=[start_node]
    while will_visit:
        travel  = will_visit.popleft()
        if travel not in visit:
            if len(graph[travel])>0:
                for k in graph[travel]:
                    will_visit.append(k)
            visit.append(travel)
    return set(visit)






computer = int(input())
edges  = int(input())
networks={}
for i in range(computer):
    networks[i+1] =[]
for  _ in range(edges):
    tmp=list(map(int, input().split(" ")))
    if tmp[1] not in networks[tmp[0]]:
        networks[tmp[0]].append(tmp[1])
    if tmp[0] not in networks[tmp[1]]:
        networks[tmp[1]].append(tmp[0])
print(len(bfs(networks, 1))-1)
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함