- 문제 : https://www.acmicpc.net/problem/2606

 

스스로 푼 문제다. Silver Level 3 문제 

첫번째 탐색문제에서 dfs 푸는 방식이 동일했다. 지나온 원소들을 세면 되어서 sum(visit)를 했는데, 1을 제외하라고 해서 

마지막에 -1을 해주었다 

 

- 정답 풀이 :

 

n=int(input())
m=int(input())
data=[[] for _ in range(n+1)]

for _ in range(m):
    a,b=map(int,input().split())
    data[a].append(b)
    data[b].append(a)
    data[a].sort()
    data[b].sort()
    
visit=[0]*(n+1)

def dfs(v):
    for i in data[v]:
        if not visit[i]:
            visit[i]=1
            dfs(i)
            
dfs(1)
print(sum(visit)-1)

+ Recent posts