[백준] 2606: 바이러스

JIN·2021년 10월 2일
0

탑다운 방식을 이용한 dfs 문제 이다 .
dfs로 탐색 끝낸 후 방문한 노드의 개수를 출력하면 정답을 낼 수 있다.

n = int(input())
k = int(input())
graph = [[] for _ in range(n+1)]
for i in range(k):
	x, y = map(int, input().split())
	graph[x].append(y)
	graph[y].append(x)

for i in graph:
	i = sorted(i)
# i
visited =[False] * (n+1)
def dfs(graph, v, visited):
	visited[v] = True
	# print(v, end =' ')
	for i in graph[v]:
		if not visited[i]:
			dfs(graph, i, visited)
dfs(graph, 1, visited)
cnt = 0
for i in visited:
	if i == True:
		cnt += 1
print(cnt-1)


profile
배우고 적용하고 개선하기

0개의 댓글

관련 채용 정보