Development/CodingTest
[백준] Python 바이러스
Kirok Kim
2021. 12. 31. 22:10
전체 코드
n=int(input())
e=int(input())
matrix=[[0]*(n+1) for i in range(n+1)]
visited=[False]*(n+1)
a=-1
for i in range(e):
x,y=map(int,input().split())
matrix[x][y]=matrix[y][x]=1
def dfs(v):
global a
visited[v]=True
a+=1
for i in range(1,n+1):
if not visited[i] and matrix[v][i]==1:
dfs(i)
return a
print(dfs(1))
코드리뷰
## 입력값
n=int(input())
e=int(input())
## 행렬로 만들기
matrix=[[0]*(n+1) for i in range(n+1)]
visited=[False]*(n+1)
# 자신의 값을 제외한 값이라 -1
a=-1
for i in range(e):
x,y=map(int,input().split())
# 양방향 행렬
matrix[x][y]=matrix[y][x]=1
def dfs(v):
global a
visited[v]=True
a+=1
for i in range(1,n+1):
if not visited[i] and matrix[v][i]==1:
dfs(i)
return a
print(dfs(1))
반응형