DFS는 재귀함수를 이용하므로 런타임에러가 날 확률 있음.

이때는 재귀함수 사용가능깊이를 늘려주거나, BFS 이용하기.

# 방문 리스트
visited = [False]*(N+1)

# 인접 리스트 생성
# N : 총 노드 개수 / s,e : 노드1, 노드2

A = [[] for _ in range(N+1)]

for_in range(N):
    s,e= map(int,input().split())
    A[s].append(e)
    A[e].append(s)

# 인접 리스트 정렬
for i in range(N+1):
    A[i].sort()

def DFS(v):

    # 탐색 순서대로 출력
    print(v, end=' ')
    
    # 방문 리스트 체크
    visited[v] = True
    
    # 이미 방문한 노드 제외한 인접 노드 함수에 넣기
    for i in A[v]:
        if not visited[i]:
            DFS(i)
            
#start : 시작 노드
DFS(start)

또는 DFS 깊이 제한 에러 발생하므로

깊이 제한 늘리기 (파이썬 기본 깊이제한은 1000)

import sys
sys.setrecursionlimit(5000)