ad1259   3년 전

파이썬 코드입니다.

런타임 에러가 나는데 어떤 반례가 있는지 궁금해요..

어떤 조건을 빼먹었는지,

혹은 코딩을 잘못한 구간이 있는지 모르겠어요!

ps : dfs,bfs는 기본이라는데 너무 어렵네요 ㅠ

liza0525   3년 전

dfs를 재귀로 짜셨기 때문에 나온 거 같습니다.
왜냐면 m = 50, n = 50, k = 2500일 때
재귀 깊이가 2500 이상이 되기 때문입니다.
파이썬에서는 재귀 제한이 1000까지 밖에 안됩니다.
재귀 제한 횟수가 넘어가면 런타임에러가 나와요.
따라서 스택으로 푸시거나

import sys
sys.setrecursionlimit(10 ** 4)

위 코드를 적으셔서 재귀 제한 횟수를 늘리시면 됩니다.
(재귀 제한 횟수를 늘리면 메모리가 늘어나기 때문에 적당히 늘려주시면 됩니다.
꼭 10 ** 4가 아니어도 되고 2500보다 크게 하시면 될 것 같습니다.)

ad1259   3년 전

와... 재귀 제한 횟수 늘리는 코드 꿀팁이네요

스택으로 푸는 방법으로도 연습해봐야겠네요

감사합니다

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