BOJ - 2606

주의·2023년 11월 30일
0

boj

목록 보기
22/214

백준 문제 링크

바이러스

❓접근법

  1. DFS 방법을 사용했다.
  2. 컴퓨터 1부터 출발해서 갈 수 있는 컴퓨터의 리스트를 visited에 넣어주는데, visited에 없다면 다시 재귀함수 형태로 반환하면 된다.
  3. 컴퓨터 1은 웜 바이러스가 이미 걸려 있으므로 반환은
    len(dfs(1)) - 1을 해주면 된다.

👌🏻코드

N = int(input())
graph = {i : [] for i in range(1,N+1)}



for _ in range(int(input())):
    a,b = map(int, input().split())
    graph[a].append(b)
    graph[b].append(a)
    
def dfs(v, visited = []):
    visited.append(v)
    
    for w in graph[v]:
        if w not in visited:
            visited = dfs(w, visited)
            
    return visited

print(len(dfs(1)) - 1)

0개의 댓글