

remove 안 쓴 거
아니 당연히 1 2에서 반복되겠지
방문 문제에서는 visited=[0,0,1,,,,] 쓰는 게 답인 듯



이 위치에 return 하면 두번째 재귀에서 1 2에서 return돼서 3을 못 감

아니 맞는 것 같은데 왜

visit 안 했을 때만 recurse해야지 다 해버리면 1 2에서만 빙글빙글 돌잖아!!!!!!!!!!!!!!!!!!!

DFS(방문 문제)에서 가장 중요한 건 return의 위치, recurse의 위치, visited 사용

예상 외로 괜찮은데 그래도 안 바꾸는 게..
com=int(input())
num=int(input())
li=[]
visited=[0]*com #com개수 쓰는 이유
for i in range(num):
li.append(set(map(int,input().split())))
visited[0]=1
def recurse(start=1):
for i in li: #리스트
if start in i:
extra=i-{start}
extra=list(extra)
extra=extra[0] #어차피 두 노드 사이니까 원소가 하나만 남을테니 가능한 거
if visited[extra-1]==0: #visited 위치 항상 주의!!!!!!!
visited[extra-1]=1
recurse(extra)
return
recurse()
count=0
for i in visited:
if i==1:
count+=1
print(count-1) #시작 노드는 제외
DFS(방문 문제)에서 가장 중요한 건 return의 위치, recurse의 위치, visited 사용