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))
반응형