[BOJ] 2606 - 바이러스
문제 링크
문제 설명
입력
- 전체 컴퓨터의 갯수
- 네트워크상의 연결된 컴퓨터 쌍의 수
- 연결된 컴퓨터 쌍
출력
- 1번 컴퓨터가 바이러스 걸렸을 때 바이러스가 전염될 컴퓨터 갯수
문제 풀이
전에 푼거랑 너무 같은 문제네,,?
전체중에 1번 컴퓨터랑 연결되어 있는 컴퓨터 갯수 세는 문제 = 연결된 링크 갯수 세는 문제
DFS (깊이 우선 탐색) 이용
import sys
input = sys.stdin.readline
def dfs(start, cnt):
visited[start] = True
for s in graph[start]:
if not visited[s]:
cnt = dfs(s, cnt+1)
return cnt
computer = int(input())
link = int(input())
graph = [[]for _ in range(computer+1)]
visited = [False for _ in range(computer+1)]
for c in range(link):
a, b = map(int, input().split())
graph[a].append(b)
graph[b].append(a)
cnt = dfs(1, 0)
print(cnt)
Author And Source
이 문제에 관하여([BOJ] 2606 - 바이러스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@34suuuuu/BOJ-2606-바이러스저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)