목록그래프 이론 (2)
just inside
문제 링크https://www.acmicpc.net/problem/2606문제 설명신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다. 어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에서 서로 연결되어 있..
DFS (Depth-First Search) | 깊이 우선 탐색그래프나 트리에서 한 노드부터 출발하여 최대한 깊게 탐색을 진행한 후, 더 이상 갈 곳이 없으면 이전 단계로 되돌아가서 다른 경로를 탐색하는 방식스택을 이용하여 구현 가능, 재귀적으로도 구현 가능노드의 깊이까지 탐색한 후, 다시 돌아와 다른 경로를 탐색그래프의 모든 노드를 방문하고자 할 때 적합 기본 코드 (재귀 방식)# graph : 탐색할 그래프, start : 탐색 시작 노드, visited : 방문 노드 저장 집합def dfs(graph, start, visited=None): if visited is None: visited = set() # 현재 노드 방문. 집합에 추가 visited.add(start)..