kan5995   1년 전

질문 게시판에 올라와 있는 반례들 한 번씩은 다 해본 것 같은데,

자꾸만 recursion error로 뜨니깐 속상하네요 ㅠㅠ

혹시 어떤게 문제일까요??

알고리즘은 이렇습니다.

1) Row나 Column 중에 홀수가 있다면 : 그렇지 않은 쪽부터 우선적으로 돈다. (RRRDLLLD.. 등)

2) 만약 둘다 짝수라면,

3) minVal 을 행과 열의 index합이 홀수인 위치 중에서 가장 작은 값으로 정의하고, 그 때의 좌표를 x,y에 넣어둔다.

4) dfs를 이용해서 (x,y)가 아니고, 전체 r*c-2 개를 모두 통과하여 도착점에 도달한 경우에, 해당 경로를 담고 있는 answer를 리턴하도록 지시한다.

고수님들 도와주세요 ㅠㅠ

dhyang24   1년 전

import sys
sys.setrecursionlimit(10**6) 

recursionerror는 보통 할당된 recursion 메모리보다 많은 횟수만큼 함수가 재귀호출되었을때 일어납니다

위 코드를 코드 맨 처음에 추가해 보세요

dhyang24   1년 전

그래도 해결되지 않는다면 sys.setrecursionlimit() 안의 숫자를 좀 더 늘려서 시도해 보시거나,
아니면 함수가 모종의 이유로 루프하고 있을 수 있습니다.

kan5995   1년 전

말씀 감사합니다

조언해주신대로 setrecursionlimit을 바꿔가며 대입했더니, 이젠 메모리 초과가 뜨네요.

아무래도 dfs로 1000 * 1000짜리 graph를 도는게 무리인가보네요 ㅎㅎ

댓글을 작성하려면 로그인해야 합니다.