파이썬 DFS 구현했는데 시간 초과 원인을 잘 모르겠어요
DFS 가지치기 잘하면 괜찮다고 하길래 중복 제거하려고 시점,방향,위치 고려한 가지치기 진행했는데도 여전히 시간 초과가 발생하네요. 오래 생각해봤는데도 이유를 잘 모르겠습니다. 혹시 짐작 가는 부분이 있으신 분이 계신가요? import sys
def dfs(depth, si, sj, sd, visited): # visited 관리 [i,j,d,t]: t시간에 (i,j)위치를 향해 d방향으로 들어옴
global global_visited
if depth == T:
global_visited.extend(visited)
return
rotary_key = arr[si][sj][depth%4]
rotary_val = rotaryType[rotary_key]
if rotary_val[0] == sd:
flag = 0
for d in rotary_val[1]:
ni, nj = si+di[d], sj+...
- 연습문제 톡
- 날짜
- 2025-01-16 21:38:08
- 작성자
- minhaoffc
- 댓글
- 0
#[HSAT_1회_정기_코딩_인증평가_기출]_안전운전을_도와줄_차세대_지능형_교통시스템