haju__log
[python][백준/BOJ] 2606번 : 바이러스 -DFS 본문
반응형
https://www.acmicpc.net/problem/2606
✅ 문제풀이
- 다른 부분에선 막히는 게 없었는데 dfs를 수행하여 방문처리하는 노드의 수를 어떻게 셀 것인가에 대해 고민을 꽤 했다.
- global 전역변수를 사용하여 그 문제를 쉽게 해결할 수 있었다.
import sys
result=0
def dfs(v):
#result를 전역변수로 사용함 (global 사용하여)
global result
visited[v]=1
result += 1
for i in range(1,n+1):
if graph[v][i]==1 and visited[i]==0:
dfs(i)
n=int(sys.stdin.readline())
m=int(sys.stdin.readline())
graph=[[0]*(n+1) for _ in range(n+1)]
for i in range(m):
a,b=map(int,sys.stdin.readline().split())
graph[a][b]=1
graph[b][a]=1
visited=[0]*(n+1)
dfs(1)
print(result-1)
반응형
'BOJ_백준 > DFS_BFS' 카테고리의 다른 글
[python][백준/BOJ] 2468번 : 안전 영역 -BFS (0) | 2023.09.17 |
---|---|
[python][백준/BOJ] 1012번 : 유기농 배추 -DFS (0) | 2023.09.17 |
[python][백준/BOJ] 1260번 : DFS와 BFS (0) | 2023.09.17 |