2873번 - 롤러코스터
질문 게시판에 올라와 있는 반례들 한 번씩은 다 해본 것 같은데,
자꾸만 recursion error로 뜨니깐 속상하네요 ㅠㅠ
혹시 어떤게 문제일까요??
알고리즘은 이렇습니다.
1) Row나 Column 중에 홀수가 있다면 : 그렇지 않은 쪽부터 우선적으로 돈다. (RRRDLLLD.. 등)
2) 만약 둘다 짝수라면,
3) minVal 을 행과 열의 index합이 홀수인 위치 중에서 가장 작은 값으로 정의하고, 그 때의 좌표를 x,y에 넣어둔다.
4) dfs를 이용해서 (x,y)가 아니고, 전체 r*c-2 개를 모두 통과하여 도착점에 도달한 경우에, 해당 경로를 담고 있는 answer를 리턴하도록 지시한다.
고수님들 도와주세요 ㅠㅠ
import sys sys.setrecursionlimit(10**6)
recursionerror는 보통 할당된 recursion 메모리보다 많은 횟수만큼 함수가 재귀호출되었을때 일어납니다
위 코드를 코드 맨 처음에 추가해 보세요
그래도 해결되지 않는다면 sys.setrecursionlimit() 안의 숫자를 좀 더 늘려서 시도해 보시거나,아니면 함수가 모종의 이유로 루프하고 있을 수 있습니다.
말씀 감사합니다
조언해주신대로 setrecursionlimit을 바꿔가며 대입했더니, 이젠 메모리 초과가 뜨네요.
아무래도 dfs로 1000 * 1000짜리 graph를 도는게 무리인가보네요 ㅎㅎ
댓글을 작성하려면 로그인해야 합니다.
kan5995 1년 전
질문 게시판에 올라와 있는 반례들 한 번씩은 다 해본 것 같은데,
자꾸만 recursion error로 뜨니깐 속상하네요 ㅠㅠ
혹시 어떤게 문제일까요??
알고리즘은 이렇습니다.
1) Row나 Column 중에 홀수가 있다면 : 그렇지 않은 쪽부터 우선적으로 돈다. (RRRDLLLD.. 등)
2) 만약 둘다 짝수라면,
3) minVal 을 행과 열의 index합이 홀수인 위치 중에서 가장 작은 값으로 정의하고, 그 때의 좌표를 x,y에 넣어둔다.
4) dfs를 이용해서 (x,y)가 아니고, 전체 r*c-2 개를 모두 통과하여 도착점에 도달한 경우에, 해당 경로를 담고 있는 answer를 리턴하도록 지시한다.
고수님들 도와주세요 ㅠㅠ